可能重复:
How much is too much with C++0x auto keyword
The new keyword “auto”; When should it be used to declare a variable type?
在C ++ 11中,键入一个变量auto
而不是int
,将让编译器自动使用正确的类型,从其初始化上下文推导出来。在类型明显但写作无聊的情况下,这非常方便。是否存在需要注意的陷阱,或者有人会避免使用它的原因?
答案 0 :(得分:3)
我的个人经验是自动对于通用代码很方便,或者像基于范围的for循环这样的东西,但是你可能会得到像
这样的东西auto count = getCount();
if (count < 0) {
// do something
}
如果getCount()返回一个无符号数,而不是你可能期望的那个(int),你甚至都不会收到警告。