Re[5]: vector struct
От: Кодт Россия  
Дата: 29.03.10 13:38
Оценка:
Здравствуйте, Centaur, Вы писали:

ТЗИ>>Кстати, распространенное заблуждение. POD здесь не при чем. Здесь важно лишь можно ли объект перемещать в памяти или нет. Существуют не POD-типы, которые можно перемещать, и POD-типы, которые нельзя перемещать (например, если в структуре имеется указатель, указывающий на одно из полей этой же структуры). Можно ли перемещать std::string, зависит от его реализации, вполне может быть, что можно.


C>В действующем стандарте 2003 (выделены изменения между 2003 и 0x):

<...>

В общем-то, это буквоедство и дефектоскопия. В 2003 используется расширенное требование, POD, а в 0x — более узкое, trivally copyable.
А суть та же самая: если объект нетривиально копируется/присваивается/обменивается, то не надо его тривиально (побайтно) копировать/присваивать/обменивать
Даже если конкретный стандарт (2003) об этом умалчивает, всё равно "Нургалиев разрешил" является антипаттерном
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.