什么时候适合在C++中使用'auto'?

use*_*814 11 c++ design-patterns auto

我正在努力为自己提出一些一致的规则,以便何时在C++程序中使用'auto'.这是我的pro/con列表,也许你可以通过给我你的意见来帮助我.

优点:

  • 'auto'适用于避免复杂和大型模板声明(例如auto的经典用例,用于在STL容器上定义迭代变量)

  • 'auto'适用于面向未来的代码.例如,如果我有一个int数组并且我想将它更改为无符号整数,如果我在引用该数组的元素时使用'auto',则会自动更新.当然,如果我为数组使用了typedef,那也会发生.

缺点:

  • 'auto'使代码难以阅读.我不知道声明是指针还是值.我不知道它是否有构造函数和析构函数.

  • 'auto'让我很懒.我可以忘记类型,只需编写代码.但在C++中,类型对程序的语义非常重要.

你们什么时候使用Auto?你何时不喜欢使用它?