C ++ 11自动型是危险的吗?

时间:2011-12-08 11:12:08

标签: c++ c++11 auto

  

可能重复:
  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,将让编译器自动使用正确的类型,从其初始化上下文推导出来。在类型明显但写作无聊的情况下,这非常方便。是否存在需要注意的陷阱,或者有人会避免使用它的原因?

1 个答案:

答案 0 :(得分:3)

我的个人经验是自动对于通用代码很方便,或者像基于范围的for循环这样的东西,但是你可能会得到像

这样的东西
auto count = getCount();
if (count < 0) {
  // do something
}

如果getCount()返回一个无符号数,而不是你可能期望的那个(int),你甚至都不会收到警告。