from:http://blog.csdn.net/njustcxy/
register
用register声明的变量称着寄存器变量,在可能的情况下会直接存放在机器的寄存器中;但对32位编译器不起作用,当global optimizations(全局优化)开的时候,它会做出选择是否放在自己的寄存器中;不过其它与register关键字有关的其它符号都对32位编译器有效。
auto
它是存储类型标识符,表明变量(自动)具有本地范围,块范围的变量声明(如for循环体内的变量声明)默认为auto存储类型。
extern
声明变量或函数为外部链接,即该变量或函数名在其它文件中可见。被其修饰的变量(外部变量)是静态分配空间的,即程序开始时分配,结束时释放。用其声明的变量或函数应该在别的文件或同一文件的其它地方定义(实现)。在文件内声明一个变量或函数默认为可被外部使用.
在C++中,还可用来指定使用另一语言进行链接,这时需要与特定的转换符一起使用。目前Microsoft C/C++仅支持”C”转换标记,来支持C编译器链接。使用这种情况有两种形式:
extern “C” 声明语句
extern “C” { 声明语句块 }
volatile
限定一个对象可被外部进程(操作系统、硬件或并发线程等)改变,声明时的语法如下
int volatile nVint 这样的声明是不能达到最高效的,因为它们的值随时会改变,系统在需要时会经常读写这个对象的值.只常用于像中断处理程序之类的异步进程进行内存单元访问。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=380321
>> 本文固定链接: http://www.vcgood.com/archives/1689