繁体   English   中英

* this和const成员函数

[英]*this and const member functions

是否可以使用this指针将数据从调用对象分配给const成员函数中声明的对象? 就像是:

(假设我已经建立了SomeClass)

void func() const
{
    SomeClass object1;

    object1 = *this;
}

int main()
{
    SomeClass object2;

    object2.func();

    return 0;
}

我知道上面的功能是没有意义的。 我只是想知道这是否是使用* this的合法转让。

只要SomeClass具有副本分配运算符,此代码就可以了。 成员函数上的const声明您不会更改对象的状态:func()不会执行此操作,因此它是合法代码。 如果您足够努力,有几种方法可以颠覆const,但是,这不是其中一种。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM