用auto自动初始化C ++ 11

时间:2013-09-01 08:23:50

标签: c++ c++11 auto

在C ++ 11中,我们鼓励使用auto作为变量类型,
这在初始化像类和向量的类型时也适用吗?

我的意思是我们应该写下以下内容:

auto a = 10; 
auto b = MyClass();
auto c = vector<int>{1, 2, 3}; 

而不是:

auto a = 10;
MyClass b;
vector<int> c = {1, 2, 3}; 

1 个答案:

答案 0 :(得分:16)

auto只是简化

之类的便捷快捷方式
VeryLongClassName *object = new VeryLongClassName();

现在它将是

auto *object = new VeryLongClassName();

没有理由写

auto a = 10; 
auto b = MyClass();
auto c = vector<int>();

因为它比

更长更难阅读
int a = 10;
MyClass b;
vector<int> c;