Сообщение 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
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
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;
}