了解ref-qualified成员函数

时间:2015-06-22 05:02:31

标签: c++ reference

ref-quilifier是否仅用于重载sakes?我期待

struct A
{
    int a;
    A() : a(10){ }
    void foo() &{ a++; std::cout << this -> a << std::endl; }
};

int main ()
{
    A a;
    a.foo();
    std::cout << a.a << std::endl;
}

struct A
{
    int a;
    A() : a(10){ }
    void foo(){ a++; std::cout << this -> a << std::endl; }
};

int main ()
{
    A a;
    a.foo();
    std::cout << a.a << std::endl;
}

打印不同的结果,因为在第一种情况下,我们通过引用传递隐式对象参数,而在第二种情况下,我们依次通过值传递它。

0 个答案:

没有答案