考虑以下关于初始化列表构造函数用法的示例:
std::vector<std::string> v = { "xyzzy", "plugh", "abracadabra" };
std::vector<std::string> v({ "xyzzy", "plugh", "abracadabra" });
std::vector<std::string> v{ "xyzzy", "plugh", "abracadabra" };
它们之间有任何差异(即使是稍微的)吗?
在一个大项目中,你需要定义一个标准,你会选择哪种样式?
我更喜欢第一种样式,第三种样式很容易与使用参数的构造函数混淆。而且第一种样式看起来更像其他编程语言。
std::initializer_list
的方法。 - leemes=
意味着operator=
,那么你需要学习 C++ 类的入门课程。编码标准不应旨在确保非程序员能理解代码。 - Yakk - Adam Nevraumont