Я пытаюсь понять следующий фрагмент из ссылки CPP. Может ли кто -нибудь более подробно объяснить, почему x2 [1] недоступен от источника ? Разве мы не можем достичь этого через & x2 [0] [0] + 10 Например?int x2[2][10];
auto p2 = std::launder(reinterpret_cast(&x2[0][0]));
// Undefined behavior: x2[1] would be reachable through the resulting pointer to x2[0]
// but is not reachable from the source
Я пытаюсь понять следующий фрагмент из ссылки CPP. Может ли кто -нибудь более подробно объяснить, почему x2 [1] недоступен от источника ? Разве мы не можем достичь этого через & x2 [0] [0] + 10 Например?int x2[2][10]; auto p2 = std::launder(reinterpret_cast(&x2[0][0])); // Undefined behavior: x2[1] would be reachable through the resulting pointer to x2[0] // but is not reachable from the source
Я пытаюсь понять следующий фрагмент из ссылки CPP. Может ли кто -нибудь более подробно объяснить, почему x2 недоступен от источника ? Разве мы не можем достичь этого через & x2 + 10 Например?int x2 ;
auto p2 = std::launder(reinterpret_cast(&x2 ));...
Получение указателя на объект, созданный в хранении существующего объекта
, то же самое, где позабоченные объекты не могут быть
, потому что он не может быть
,...
Я прочитал некоторое чтение на std :: raunder , и я подумал о сценарии, который стандарт, казалось, не учитывает. p представляет адрес a байта в памяти
Объект x находится на адресе a
x находится в пределах своей жизни
Тип x такой же, что и T,...
Я прочитал некоторое чтение на std :: raunder , и я подумал о сценарии, который стандарт, казалось, не учитывает. p представляет адрес a байта в памяти
Объект x находится на адресе a
x находится в пределах своей жизни
Тип x такой же, что и T,...