MyClass a1 {a}; // clearer and less error-prone than the other three
MyClass a2 = {a};
MyClass a3 = a;
MyClass a4(a);
为什么?
我找不到关于SO的答案,所以让我回答我自己的问题。
没错,这很方便,但是在我看来,这会降低可读性-我喜欢在读取代码时查看对象的类型。如果您100%确定对象是什么类型,为什么要使用auto?如果使用列表初始化(请阅读我的回答),则可以确保它始终正确。
—
Oleksiy
@Oleksiy:
—
Xeo
std::map<std::string, std::vector<std::string>>::const_iterator
想和您谈谈。
@doc我想说
—
JAB
using MyContainer = std::map<std::string, std::vector<std::string>>;
的更好(尤其是您可以使用它做模板!)
auto
?