C++中寄存器变量

2025-01-01 10:32:39
推荐回答(2个)
回答1:

寄存器变量不在内存中,在CPU的寄存器中.
只要用了register修饰符,对该变量取地址的操作就被禁止.你把变量定义成寄存器中,它会一直占着寄存器不释放。计算机寄存器的个数是一定的。
这样变量少的你可以用,变量多了就不够用了。

而且即使你在内存中声明的普通变量最终还是要放到寄存器中的去执行,而那时对寄存器的处理是不需要你管的,除非是对效率要求特高,而且只对狠少的固定的几个变量处理,一般是不怎么用的。

回答2:

register这个关键字已经形同虚设,除了在嵌入式编程上有点作用外,一般编程都不会用到。你要相信现在的编译技术已经非常成熟,编译器可以自动判断一些常用的变量然后将其放到寄存器里。