gpt4 book ai didi

c++ - 初始化列表是否抑制对构造函数的调用?

转载 作者:太空狗 更新时间:2023-10-29 19:50:03 25 4
gpt4 key购买 nike

如果我使用默认构造函数声明一个类,并使用如下初始化列表定义此类的实例,是否会为此定义调用默认构造函数?为什么被调用或未被调用?

class Sample
{
// this should be any aggregate type in c++
};

int main()
{
Sample s = {0};
return 0;
}

最佳答案

  • 在 C++03 中,只有 aggregate classes可以用花括号初始化,聚合类可能没有用户定义的构造函数
  • 在 C++0x 中,此语法通过 initializer lists 支持非聚合类型并调用适当的构造函数(采用 std::initializer_list)

关于c++ - 初始化列表是否抑制对构造函数的调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4283307/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com