文章目录
- 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);