gpt4 book ai didi

c++ - ""和 {} 初始化空字符串有什么区别?

转载 作者:太空狗 更新时间:2023-10-29 20:10:07 27 4
gpt4 key购买 nike

string a = "";
string b = {};

我真的找不到很好的引用来解释它们之间的区别。编译器对它们有不同的看法吗?那么,为什么?

最佳答案

a 是使用复制初始化构造的。

b 是使用复制列表初始化构造的。

对于std::string,编译器会产生相同的结果;一个零长度的字符串。

但是构造字符串的机制可能会有所不同 - 编译器,至少在概念上,将不得不遍历传递给构造 a 的匿名临时 const char[]。

对于其他类型可能存在差异;研究以上两个术语以获取更多详细信息。

关于c++ - ""和 {} 初始化空字符串有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41859146/

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