Здравствуйте, Анатолий Широков, Вы писали:
1>>memmove, memcpy and e.t.c.
АШ>Таким способом можно переносить объекты только POD-типов. Приведенный вами класс POD-типом не являетс
Уточню.
Т.е. вы утверждаете что класс
class A
{
public
A(){}
~A(){}
void F();
void F1();
void F2();
private:
int m_a;
int m_b;
char m_str[100];
}
копировать используя memcpy/memmove нельзя ?
Тогда возникает второй вопрос. (хотя на самом деле для меня именно он был первым).
Возможно я чего-то непонимаю, но спускаясь по дереву вызовов stl::vetor::insert()
я попадаю в конце концов в место где вызывается memmove. Так или иначе вектор сдвигает элементы которые находятся старше предпологаемого индекса вставки. (всем понятно что таких операций нужно старатся избегать в векторе, сейчас вопрос не в этом)
Тогда получается что вектор нельзя инстанировать ничем иным кроме "старых добрых простых"типов.(POD)
Я бы хотел для себя прояснить этот момент так же с позиции почему может быть опасно двигать в памяти объект если у него нет таблицы виртуальных функций ?