C++标准的一些特性记录:C++11的auto和decltype
文章目录
- auto
- 容器遍历
- 配合lambda表达式
- decltype
- 两者对引用类型的处理是相同的
- decltype保留const,而auto不会保留const
在C++11中,引入了两个新的关键字,auto和decltype两个关键字,都是用于做类型推断。但是使用的场景有些区别。
auto
容器遍历
auto这个关键字,我个人在编程过程中用的最多的场景,就是用于配合template一起做容器的遍历使用:
template <typename T>
int goWalkContainer(std::vector<T> vx)
{for (auto x : vx){std::cout << "x is: " << x << std::endl;}return 0;
}int main() {std::vector<int> vx = { 1,2,3,4,5 };goWalkContainer(vx);std::vector<float> vf = { 1.1,2.2,3.3,4.6,5.0 };goWalkContainer(vf);std::vector<std::string> vs = { "a", "b", "c", "d", "e", };goWalkContainer(vs);