在数值计算方面,在我看来,寄存器存储类(当前已弃用并从标准中删除)是进行优化的一个很好的提示。是否有明确的理由将其从标准中明确删除?
答案 0 :(得分:6)
因为现在几乎没有用了。 register
关键字不过是向编译器提示“您应该尝试让我快速访问此变量”。但是,编译器在评估此类情况方面比您强得多,尤其是在您实际上未对代码进行基准测试的情况下。
答案 1 :(得分:4)
来自Wikipedia:
由于优化,
寄存器在现代编译器中基本没有意义,无论是否给出提示,都会在适当的情况下将变量放入寄存器中
编辑:
register关键字的作用很小,仅提供一个提示,说明通常会忽略该提示。在此版本的标准中应弃用该名称,从而将保留的名称释放出来以供将来的标准使用,就像这次auto由于类似的无用而被重新使用一样。