阅读此帖后:Is there a downside to declaring variables with auto in C++?
我问自己:真的没有一个回答者知道auto
不是一个类型而是存储类说明符。
或者是auto
,因为C ++ 11与普通C中的存储类说明符不同?
如果是这样,这会破坏C和C ++之间的兼容性吗?
(我知道他们的官方从来没有相互支持过,但我的经验是C ++委员会试图尽可能地接近C,但是现在可以接受。但是现在改变了一个过时的,但是abyway现有关键字而不是仅仅添加一个新关键字。为什么在这里做一个这样的突破?)
答案 0 :(得分:8)
从c ++ 11开始,auto意味着推断出类型。它被使用是因为添加一个新的关键字会导致更多的c ++程序崩溃。作为存储说明符,auto是无用的,因为如果没有添加说明符,它是默认值。
唯一的选择是遵循C泛型中使用以下划线开头的名称的方法。这会导致一个丑陋的关键词,这是经常使用的。