关键字

1   naked
     nothrow__declspec(nothrow)
    __declspec( naked )  

   对于没有用naked声明的函数一般编译器都会产生保存现场(进入函数时编译器会产生代码来保存ESI,EDI,EBX,EBP寄         存      器    ——prolog)和清除现场(退出函数时则产生代码恢复这些寄存器的内容——epilog) 代码,而对于用naked  声明的函数一般不会产生这些代码,这个属性对于写设备驱动程序非常有用,我们自己可以写这样一个过程,它仅支持x86  。naked只对函数有效,而对类型定义无效。对于一个标志了naked的函数不能产生一个内联函数即时使用了__forceinline  关键字。

 2 模板函数只能全特化,没有偏特化(以后可能有)。
     模板类是可以全特化和偏特化的。
     template < >
      int compare(const char* left, const char* right)
       {
             std::cout <<"in special template< >..." <               return strcmp(left, right);
      }

3





你可能感兴趣的:(c++)