在你开始将其标记为重复之前,我已经读过这个 .但它没有回答我的问题.链接的问题谈到了C++ 98和C++ 03,但我的问题是关于C++ 11引入的默认构造函数.
考虑以下程序(请参阅此处的实时演示):
#include <iostream>
struct Test
{
    int s;
    float m;
    Test(int a,float b) : s(a),m(b)
    { }
    Test()=default;
}t;
int main()
{
    std::cout<<t.s<<'\n';
    std::cout<<t.m<<'\n';
}
我的问题是,编译器提供的默认构造函数总是初始化内置类型,在C++ 11和C++ 14中默认为0,当它们是class&struct成员时.这种行为是否由C++ 11标准保证?
c++ initialization default-constructor language-lawyer c++11