侯捷C++11课程笔记
第一课:演进,环境与资源
1.C++Standard之演化
- C++ 98(1.0)
- C++03(TR1)
- C++11(2.0)
- C++14
2.Header files
C++ 2.0新特性包括语言和标准库两个层面,后者以header files形式呈现
- C++ 标准库的header files不带(.h),例如 #include
- 新式的C header files不带(.h),例如 #include
- 旧式的C header files带(.h),例如 #include<stdio.h>
对于一个存在着标准输入输出的C++控制台程序,一般会在#include 的下一行发现一句话,using namespace std。这句话其实就表示了所有的标准库函数都在标准命名空间std中进行了定义。其作用就在于避免发生重命名的问题。
查看是否支持C++11
#include<iostream>
int main()
{
std::cout<<__cplusplus;
}
3.课程重点
语言:
- Variadic Templates
- move Semantics
- auto
- Range-base for loop
- Initializer list
- Lambdas
- …
标准库:
- type_traits
- Unordered容器
- forward_list
- array
- tuple
- Con-currency
- RegEx
- …