Правильно ли определен адрес члена неинициализированного объекта?C++

Программы на C++. Форум разработчиков
Ответить
Гость
 Правильно ли определен адрес члена неинициализированного объекта?

Сообщение Гость »

Рассмотрим следующий пример. Когда создается bar, ему присваивается базовый тип () конструктор адреса my_member.y, где my_member — это элемент данных, который еще не инициализирован.

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

struct foo {
foo(int * p_x) : x(p_x) {}
int * x;
};

struct member {
member(int p_y) : y(p_y) {}
int y;
};

struct bar : foo
{
bar() : foo(&my_member.y), my_member(42) {}
member my_member;
};

#include 

int main()
{
bar my_bar;
std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/50028982/is-taking-the-address-of-a-member-of-an-uninitialized-object-well-defined[/url]
Ответить

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

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

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

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

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