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