gpt4 book ai didi

c++ - 初始化 std::string 的不同方法之间的区别

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

最近我看到很多人像这样初始化他们的 std::string:

std::string a{ "test" }; // Yes they do it with a single value

现在我不会使用它,除非它是一个数组或传递一个初始化列表。
但这让我很好奇,这样做最好结束有什么意义吗:

std::string a = "test";
std::string a ( "test" );

毫无疑问,这三者都有效,我明白了后两者之间的区别。

它会带来某种性能提升吗?

Code

最佳答案

Does it give some kind of performance improvement?

没有。

最后,调用一个 std::string 构造函数。唯一的区别是编译器如何选择构造函数。

开发人员可能会根据重要的类的用法来选择样式,这可能是因为有初始化列表构造函数,或者是因为缩小转换或显式构造函数。然后为了一致性而对字符串使用相同的样式。

对于 std::string,编译器的所有三个路径最终都选择相同的构造函数。

关于c++ - 初始化 std::string 的不同方法之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30110325/

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