Означает ли этот подход к изучению представления объекта повторное использование хранилища?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]

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