gpt4 book ai didi

c++ - 使用大括号进行结构初始化

转载 作者:行者123 更新时间:2023-11-30 04:56:53 28 4
gpt4 key购买 nike

在一个C++项目中看到如下代码:

struct Foo{ 
std::wstring x;
//blah
}

// this func returns a Foo object

Foo getFoo(){
//blah
}

void main() {
Foo obj{getFoo()}; //why can initialize by another Foo object in {}?
}

{} 是列表初始化。但是这里没有列出 Foo 参数。为什么这行得通? struct 是否有默认的复制构造函数?

Foo obj(getFoo()) 是否有效?与 {} 的使用方式有何不同?

最佳答案

这是复制初始化。它调用隐式声明的复制构造函数。资料来源:https://en.cppreference.com/w/cpp/language/copy_initialization , https://en.cppreference.com/w/cpp/language/copy_constructor

关于c++ - 使用大括号进行结构初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52305362/

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