C++ 11 笔记 (三) : auto
我真的不是标题党。。。
虽然大一上学期学C语言基础时就学了auto关键字了,而且还是跟static和register两个关键字打包学的,但是。。
猜的没错,C++11这货又给auto加新功能了,在 C++ 11 笔记 (一)中已经用过了,但是用之前忘了记录一下,可见博客编排顺序有多么不合理。。。
auto关键字新添加了自动推断类型的功能,例如我们有这样一个类:
1 class EvenSuchALongNameOfTheClassWhatTheFuck 2 { 3 public: 4 EvenSuchALongNameOfTheClassWhatTheFuck(int x, int y) 5 { 6 } 7 };
我们声明并初始化这个逆天的类竟然需要这样写:
1 EvenSuchALongNameOfTheClassWhatTheFuck* mygod = new EvenSuchALongNameOfTheClassWhatTheFuck(0, 0);
这时候auto就发挥作用了:
1 auto mygod = new EvenSuchALongNameOfTheClassWhatTheFuck(0, 0);
其实。。。确实短了不少啊。。。
另外就是用在lambda中了,因为lambda没有类型,没法声明啊。。这时候auto又一次出现:
1 auto lambda = []{ return "wow!"; };
差不多auto也就是这样吧~~~