C++11 for 循环的新用法学习(含转载)
主要参考(转载):http://c.biancheng.net/view/3738.html
新学到了auto应该是类似C#的var吧(var也没太明白,应该是类似)。for中的关联性容器很有意思,关联容器没用用过,后面再学一下。感觉传统for像指针,新用法要想修改容器中的值需要使用 引用。
基于范围的 for 循环中的 std::pair 引用,是不能够修改 first 的。这里我进行了编码测试,实际上就是默认成了const。公司用VS2012。。。这导致一些编码方式不编译通过。我“查阅古籍”后目前找到一种vs2012中关联性容器的赋值方法,具体如下:
#include <iostream> #include <map> int main(void) { std::map<std::string, int> mm; mm["a"]=8; return 0; }
像链接中那种很舒服的赋值初始化会报错,如
头疼。
最后还发现一个问题:在vs2012中如果不添加<string>库,那么不能cout<<std::string。引用之后就可以了。
另附,vs2012批量注释方法:
多行注释:选中代码,先按ctrl+k,再按ctrl+c;
取消多行注释:选中代码,先按ctrl+k,再按ctrl+u。