看程序1:
- int main()
- {
- register int i;
- return 0;
- }
正确。
看程序2:
- register int i;
- int main()
- {
- return 0;
- }
错误。
看程序3:
- int main()
- {
- static register int i;
- return 0;
- }
错误。
看程序4:
- static register int i;
- int main()
- {
- return 0;
- }
错误。
即使把程序3, 4中static和register的顺序交换, 也错。 注意, register变量存在于CPU中的寄存器中, 没有所谓的内存区域的概念, 所以, 不可能是什么全局的, 也不可能是什么static的。
其实, 应该避免使用register类型, 因为编译器会比我们做的更好。 ---《C++编程思想》



















