• 模板使用中的一些规则


    1. 函数模板特化必须在实例化之前。
    2. 成员模板函数(MTF)的特化必须在类外,不能使用内联(inline)进行特化。
    3. 浮点数、类对象(class-type)、内部链接对象(如字符串常量"Hello World",注意:extern char const s[] = "hello"外部链接对象则可以)和全局指针不能作为非类型模板参数。能使用的有:整型或枚举、指针类型(普通指针&函数指针&成员指针)和引用类型(指向对象或函数的引用)
    4. 成员函数模板不能被声明为虚函数。
    5. 如果类模板中含有静态成员,那么用来实例化的每种类型都会实例化这些静态成员(显而易见)。
    6. GCC中>>中要留个空格,否则,编译器会报错。
    7. 类模板特化的实现可以和基本类模板的实现完全不一样。
    8. 类模板可以为模板参数定义缺省值,并且还可以引用前面的模板参数。
    9. 类模板不能喝另一个实体共享一个名称(显而易见)。
    10. 非类型模板参数可以借一个确定的数值来产生一种新类型或新函数。
    11. 局部类和局部枚举不能作为模板的类型实参。
    12. 未命名的class类型或枚举类型不能作为模板的类型实参(但,通过typedef声明给出的未命名类和枚举却可以作为模板类型的实参)。
    13. “模板是在程序创建的时候进行实例化的”。 模板实参的一个普遍约束是:在程序创建的时候,编译器或链接器要能够确定实参的值,而不能再运行时才能确定。
    14. 空指针常量、浮点型值和字符值不能作为有效的非类型实参。
  • 相关阅读:
    PC 常用软件分享(无广告软件)
    PlyComputer2023多项式求值器2023 下载 Polynomial evaluation Solver 2023 download
    DymDim 1维碰撞运动学软件2023 下载 1D collision kinematics software 2023 download
    仙童公司的往事
    mqtt 协议理解
    rndis协议
    linux内存管理
    4G模块AT命令说明
    modbus rtu 字符间隔要求
    lua userdata 封装任意对象
  • 原文地址:https://www.cnblogs.com/AmitX-moten/p/4449014.html
Copyright © 2020-2023  润新知