Означает ли этот подход к изучению представления объекта повторное использование хранилища?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Означает ли этот подход к изучению представления объекта повторное использование хранилища?

Сообщение Anonymous »

Для проверки представления объекта стандарт C++ предоставляет https://timsong-cpp.github.io/cppwp/n4861/basic.lval#11:

Если программа пытается получить доступ ([defns.access]) к сохраненному значению объекта через glvalue, тип которого не похож ([conv.qual]) на один из следующих типов, поведение не определено:

(11.1) динамический тип объекта,

(11.2) тип, который является знаковым или беззнаковым типом, соответствующим динамическому типу объекта, или

(11.3) тип char, unsigned char или std​::​byte.

Но в соответствии с https://www.open-std.org/jtc1/sc22/wg21 ... 839r7.html и, следовательно, следующий фрагмент является UB:

Код: Выделить всё

T obj; // T is some arbitrary type
std::byte *ptr = reinterpret_cast(&obj);
for (std::size_t i = 0;i

Подробнее здесь: [url]https://stackoverflow.com/questions/79796861/does-this-approach-to-examine-object-representation-reuse-storage[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»