Информация об изменениях

Сообщение Re[8]: Вопрос по value-initialization от 16.05.2017 8:23

Изменено 16.05.2017 8:34 rg45

Re[8]: Вопрос по value-initialization
Здравствуйте, jazzer, Вы писали:

J>Какой? Сорри, я не понимаю, чего ты от нас хочешь


Хорошо, перезагружаемся. Ниже видоизмененный пример, показывающий разное поведение двух разных версий gcc — в одном случае член инициализируется, в другом — нет. Я хочу, чтобы мне объяснили причины этого разного поведения.

gcc 4.3.2
gcc C++14

#include <iostream>
#include <string>

struct Base
{
  int* p;
  std::string s;
};

struct A : Base
{
  A() : Base() { }
};

int main()
{
  A a;
  std::cout << a.p << std::endl;
}
Re[8]: Вопрос по value-initialization
Здравствуйте, jazzer, Вы писали:

J>Какой? Сорри, я не понимаю, чего ты от нас хочешь


Хорошо, перезагружаемся. Ниже видоизмененный пример, показывающий разное поведение двух разных версий gcc — в одном случае член инициализируется, в другом — нет. Если сравним msvc-9.0 и msvc-14.0, увидим ту же картину. Я хочу, чтобы мне объяснили причины этого разного поведения.

gcc 4.3.2
gcc C++14

#include <iostream>
#include <string>

struct Base
{
  int* p;
  std::string s;
};

struct A : Base
{
  A() : Base() { }
};

int main()
{
  A a;
  std::cout << a.p << std::endl;
}