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也就是这样吧~~~

posted @ 2014-04-23 21:40  Anti-Magic  阅读(184)  评论(0编辑  收藏  举报