标签:
参考资料:
1. 《C++编程思想(第一卷)》
知识点:
● register变量:它是一种局部变量类型。它告诉编译器尽快访问该变量。一般会把变量放在寄存器中,但不保证一定会。不能得到或计算寄存器变量的地址,且寄存器变量必须在模块中声明。无全局或静态寄存器变量。
注意:要相信编译器,尽量避免使用register关键字。
● static变量:①方法内部的静态变量在该方法首次调用时被初始化,并在以后的方法调用时保存该静态变量的值(记忆的效果)。
②当一个静态方法或变量在所有方法外时,意味着该变量只能在该文件中能被访问。也就说它的作用域是该文件,即使加了extern关键字。
● extern关键字:extern关键字告诉编译器该变量或方法存在,尽管在当前被编译文件中没有被看到。而该变量或方法实际上可能定义在其它文件中或当前文件的下文。再次强调,extern和static不能共存。
● const关键字:const修饰符就是告诉编译器i“它永远不会被改变”。只读寄存器
● volatile关键字:volatile修饰符则告诉编译器“你永远不知道它什么时候改变”,并阻止编译器进行基于该变量的稳定性的优化。主要是多线程环境下。强迫读,强迫写,从而保证数据一致。
● 内部链接internal linkage和外部链接external linkage。
标签:
原文地址:http://www.cnblogs.com/AmitX-moten/p/5592597.html