优秀的编程知识分享平台

网站首页 > 技术文章 正文

C++11较C++03的改进(c++11 chrono)

nanyue 2024-07-30 03:11:59 技术文章 4 ℃

C++11

C++11又称为C++0x是新的C++语言的标准,发布于2011年。新的标准取代了2003年发布的C++03,也为C++带来了些许改进。

1 关键词auto修订

一门语言如果太啰嗦了,不仅会为阅读带来障碍,而且还是许多错误的根源。所以从C语言继承而来的关键词auto在C++11中有了新的定义,可以进行自动类型推断。

例如:

需要谨慎的一些应用。

2 for()的循环范围

迭代操作在STL中是很常见的。C++11提供了一个专门的for函数来简化那些以begin()、end()为参数并返回迭代器的函数。这种新的方式对于C的数组同样有效。

例子:

3 初始化列表

C++03中的容器不能像C中的数组那样利用列表初始化,这个问题在C++11中得到改进。

例如:

列表初始化也可以运用在更复杂的结构中,如下所示:

4 C++数组

貌似这块儿是C++11添加的新的功能。

C++11提供了std::array,目的是来取代C中的数组。这是个尺寸可变的轻量级数组,使用的时候效果与std::vector差不多。

例子:

5 少许修正

C++03中的一些小缺陷在C++11中得到了修正。

例如:

1 set<vector<int>>在C++11中可以编译了。(注意最后两个尖括号之间没有空间哦)

2 std::string 有了front和back成员函数。

3 文件流可以接受std::string类型的文件名,意味着我们不再需要使用可笑的c_str()进行转换。

4 可以很方便的将数值想std::string进行类型转换。通过以下重载函数:

string to_string(int)

string to_string(float)

string to_string(double)

...

6 支持C++11的编译器

1 GNU C++ 编译器需要加入 -std=c++0x 来编译 C++11 代码。

2 Visual Studio 2010部分支持C++11特性。

3 Visual Studio 201X(V11)仍然只对C ++11的功能部分支持。

最后,如果你想学C/C++可以私信小编“01”获取素材资料以及开发工具和听课权限哦!

Tags:

最近发表
标签列表