这三句什么意思啊?怎么理解嗯?
第一个是定义了一个模板变量
第二个是模板类
第三个是Lambda表达式,wait函数接受了一个匿名函数(或者叫lambda)
第三行是c++11的特性
就是那个类或者函数在设计的时候没有确定要针对哪种类型的变量,可以作为通用工具。
例如最常见的swap交换函数,如果要对所有类型都写就太麻烦了
void swap(int, int);
void swap(char, char);
void swap(float, float);
但用模板的会就简单了,当编译器遇到一种类型代入,就会自动生成上面的代码
template <typename T>
void swap(T, T);
同理在类中也一样,例如c++里的vector,他可以存储任意类型的数组,但同样在设计的时候不能针对每种类型都定义,所以就用了模板。
不过这些类在声明的时候需要指定类型是什么,就是尖括号里的东西。例如
vector<int> list;//代表list里存放的都是int元素
vector<float> list;//代表都是float元素