C/C++是否存在全局的或者静态的register变量?

来源:互联网 发布:思科网络基础知识大全 编辑:程序博客网 时间:2024/06/05 02:11

       看程序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++编程思想》



0 0
原创粉丝点击