基础知识:
c++语言关键特性
1.template(模板)
所谓templates,是针对“一个或多个尚未明确的型别”所撰写的函数或类别。使用templates时,可以而显示的(explicitly)或隐式的(implicitly)将型别当做参数来传递。
关键字 typename
用于作为型别之前的标识符号。考虑下面的例子:
template
class MyClass {
typename T::SubType * ptr;
…
};这里,typename指出SubType是class T中定义的一个型别,因此ptr是一个指向T::SubType型别的指针。如果没有关键字typename,SubType会被当成一个static成员,于是:
T::SubType * ptr;
会被解释成为型别T内的数值SubType与ptr的乘积。
注意,如果要吧一个template中的某个标识符号指定为一种型别,就算意图显而易见,但是关键字typename也不可或缺,因此C++的一般规则是,除了以typename装饰之外,template内的任何标识符号都被一个值(value)而非一个型别。Member Template(成员模板)
class member funtion 可以是个
std标准库学习(一)
最新推荐文章于 2024-06-21 22:56:01 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)