Re[13]: memset(this, 0, sizeof(T));
От: N. I.  
Дата: 23.11.16 20:12
Оценка:
uzhas:

U>я пытался найти в стандарте во что превращаются скалярные типы после memzero, но не смог найти =\


Если существует значение, которое представляется полученной последовательностью нулевых unsigned char-ов, то в объекте будет храниться это самое значение. Иначе объект, наверное, прекращает существование в соответствии с [basic.life].

U>для каких standard-layout типов ясно определена семантика?


Для unsigned char определённо

U>например, для bool верно, что false прочитаю?


Если std::memcpy-подобное копирование объекта, хранящего false, в массив unsigned char-ов образует нолики (вряд ли есть реализации, где это не так), то да. Если нолики получаются при копировании true, то будет true. Иначе формально там может получиться что угодно, насколько я вижу.

U>4 года не писал тут


Забанили за какой-то язвительный комментарий, решил отдохнуть
Отредактировано 23.11.2016 20:21 N. I. . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.