c++ 11 0x11 新特性之auto 及 for的自动迭代

来源:互联网 发布:什么是数据库管理系统 编辑:程序博客网 时间:2024/05/08 03:41

今天忽然看到c ++ 11的代码 发现网上没有说的很清楚的, 所以自己做个笔记

网上说明 auto的概念很多, 可以自己 g下, 下边主要是比较实用的例子.

std::vector<ClassABC*> vecABC;for( auto obj : vecABC ){obj->doSomething();}


上边代码就相当于当年我们用的下边的代码.

std::vector<ClassABC*> vecABC;for( std::vector<ClassABC*> iterator obj = vecABC.begin(); obj != vecABC.end(): ++obj){obj->doSomething();}


是不是很爽,相比之下 代码少了很多, auto 让我们彻底摆脱了冗长迭代器, 不知道成本会不会算在编译时间里 ,

auto和 for的自动迭代的风格好像python.

更详细的标准, 请见http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2930.html

中文: http://blog.jobbole.com/55063/


PS: c++ 11 quick exit

http://www.cplusplus.com/reference/cstdlib/quick_exit/

原创粉丝点击