C++越来越复杂,C++11添加了很多新特性,这是往正确的方向发展吗?添加新的内容给程序员带来了什么?对于我自己来说,用过lua, JavaScript, ActionScript的人,非常羡慕其它语言里的foreach, 匿名函数,等等特性。这次C++里添加了这些新特性,不仅实用,并且效率不减,对于我来说对这次的升级非常欢迎。但是事情总是有两面性的,下面分析一下带来的坏处和好处。
坏处:
新加的特性很多是程序员很需要的功能c++ 是一门不需要你全部了解的语言,给程序员更多的选择对于性能方面有所提升修改了以前的bug
各大厂商对C++11 持什么态度呢?来看下各大厂商对C++11基本特性支持情况:
这些编译器版本支持C++11基本特性,说明各大厂商基本在C++11标准出来后,很快对编译器进行了升级。详细请见 这里。
编译:
在 Linux 下将编译器升级到4.8以上,使用 g++ 的时候添加参数-std=c++11 即可, 或者在.bashrc里添加:
alias g++=“g++ -std=c++11”
简单例子:
// test.cc #includeint main() { auto arr = {1, 2, 3}; for(auto i : arr) { std::cout << i; } }
编译运行结果:
g++ -o test test.cc ./test 输出结果为:123
1、c++ primer 5th
2、 http://www.cplusplus.com/
3、stackoverflow
4、github
博客后续会陆续介绍一些C++11的新特性,争取每篇文章简单明了,让已经有C++经验的人快速入门。