Q: Когда мне нужно использовать STD :: rEN wanning? of:
- const Heap объекты,
- базовые классы, или
- участники.
Код: Выделить всё
[[no_unique_address]]
Код: Выделить всё
struct Empty {};
struct A {
[[no_unique_address]] Empty e = {};
char c = {};
};
int main() {
auto a = A{};
auto p1 = &a.e;
auto p2 = new (&a.c) char;
(void)p2->e; // OK.
(void)*p1; // UB due to bullet 3.
}
Объект o является o o /> o 2 if ... и ни o 1 и o 2 является потенциально оверновленным subobject.
Почему стандарт C ++ налагает такое особое ограничение на потенциально ограбления субобъектов? />
① < /sup> Правило охватывает как пулю 2 (в случае пустой базовой оптимизации), так и пули 3. < /p>
Подробнее здесь: https://stackoverflow.com/questions/797 ... eplaceable
Мобильная версия