与register关键字相关的其他语义

时间:2015-06-23 15:13:13

标签: c++ c msdn

注册关键字为deprecated and mostly ignored

documentation on the msdn的这一小部分让我感到奇怪。

  

编译器不接受用户对寄存器变量的请求; [...]但是,与注册关键字相关的所有其他语义都受到尊重。

那些其他语义是什么?

1 个答案:

答案 0 :(得分:8)

例如,在C中,您无法获取使用register说明符声明的对象的地址。

void foo(void)
{
    register int a = 42;
    &a;  // constraint violation
}

另一个例子,你不能在文件范围声明中使用register

register int b = 42;  // constraint violation

int main(void)
{
}