6
注册关键字是deprecated and mostly ignored。其他与注册关键字相关的语义
但是它的documentation on the msdn这个小部分让我感到惊讶。
编译器不接受用户对寄存器变量的请求;但是,与寄存器关键字相关联的所有其他语义都可以使用。
那些其他的语义是什么?
注册关键字是deprecated and mostly ignored。其他与注册关键字相关的语义
但是它的documentation on the msdn这个小部分让我感到惊讶。
编译器不接受用户对寄存器变量的请求;但是,与寄存器关键字相关联的所有其他语义都可以使用。
那些其他的语义是什么?
例如在C中,您不能获取用register
说明符声明的对象的地址。
void foo(void)
{
register int a = 42;
&a; // constraint violation
}
另一个例子,你不能在文件范围内声明中使用register
:
register int b = 42; // constraint violation
int main(void)
{
}
换句话说,虽然MSVC++消除了'register'的任何运行时的缺点,你仍然有编译时的限制。 (不,没有好处)。 – MSalters