系列文章目录
前言
C++ 这门编程语言的历史可以追溯至 1979 年,当时的 Bjarne Stroustrup(C++ 之父,后续简称 Stroustrup)还在使用 Simula 语言进行开发工作。
1998 年,C++ 标准委员会发布了第一版 C++ 标准,并将其命名为 C++ 98 标准。据不知名人士透露,《带注释的C++参考手册》这本书对 C++ 98 标准的制定产生了很大的影响。
经过作者的不断迭代,一本书往往会先后发布很多个版本,其中每个新版本都是对前一个版本的修正和更新。C++ 编程语言的发展也是如此。截止到目前(2020 年),C++ 的发展历经了以下 3 个个标准:
2011 年,新的 C++ 11 标准诞生,用于取代 C++ 98 标准。
2014 年,C++ 14 标准发布,该标准库对 C++ 11 标准库做了更优的修改和更新;
2017 年底,C++ 17 标准正式颁布;
虽然学习 C++11 需要花些时间,但这是非常值得的;C++11 非常实用,它不但提高了开发效率,还让程序更加健壮和优雅。程序员应该乐于升级换代已有的知识,而学习和使用 C++11 早就是大势所趋。
|版本声明:山河君,未经博主允许,禁止转载
foreach
以前我们想要遍历数组、或者是容器都要像如下使用
for (std::vector<int>::const_iterator itr = v.begin(); itr != v.end(); ++itr) {
std::cout << *itr << std::endl;
}
这无疑是非常冗长的 ,在我们学习auto之后,就可以写成如下这样
for (auto itr = v.begin(); itr != v.end(); ++itr) {
std::cout << itr << std::endl;
但是这样去写,也不是很简便,因为我们通常遍历会遍历整个数组或者容器,而C++11中就推出了类似java的写法
for (auto itr : v) {
std::cout << itr << std::endl;
或者遍历数组时
int j[10];
for (int i : j ) {
std::cout << i << std::endl;
注意事项
在以下例子中,经常会有人认为第一个for中的itr为迭代器,这里要注意的是它为int类型的数据。
vector<int> v = { 1,2,3,4 };
for (auto itr : v) {
std::cout << itr << std::endl;
}
for (auto itr = v.begin(); itr != v.end(); ++itr) {
std::cout << *itr << std::endl;
}
总结
仍在持续更新中~
如果对您有所帮助,请点个赞!