相关疑难解决方法(0)

const成员函数的语义是什么?

我知道该函数不允许更改对象的状态,但我想我在某处读过允许编译器假设如果使用相同的参数调用函数,它将返回相同的值,因此可以重用缓存值(如果可用).例如

class object
{
    int get_value(int n) const
    {
        ...
    }

...


object x;

int a = x.get_value(1);
    ...
int b = x.get_value(1);
Run Code Online (Sandbox Code Playgroud)

然后编译器可以优化第二个调用,并使用寄存器中的值或只是执行 b = a;

这是真的?

c++ methods const

13
推荐指数
1
解决办法
4937
查看次数

标签 统计

c++ ×1

const ×1

methods ×1