使用auto进行C++11初始化

C++ 11 initialization with auto

本文关键字:初始化 C++11 进行 auto 使用      更新时间:2023-10-16

在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}; 

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;