您当前的位置: 首页 > 

我什么都布吉岛

暂无认证

  • 3浏览

    0关注

    292博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

拷贝和赋值区别

我什么都布吉岛 发布时间:2020-05-28 13:17:52 ,浏览量:3

拷贝构造,对象赋值

拷贝是构造行为,状态取决于用于构造的对象;赋值是对已构造对象进行状态更新。赋值侧重于更新,构造侧重于构造。

等号不等于赋值,他可能是拷贝构造

下面这个语句被识别为构造

string str="apple";
string strr=str;//我是构造,不是赋值

下面这个语句被识别为赋值:

string str="apple";
string strr
strr=str;//我才是赋值

等号“=”是赋值还是构造取决于左值是否第一次出现。

函数返回值是拷贝构造

函数返回值如果是一个类,那么返回的对象首先将会被拷贝构造到一个临时对象,这个对象是const的。


A fun()
{
    A a;
    return a;//拷贝g构造到一个const temp_class_A中
}

class A
{
public:
    A() 
    { 
        cout             
关注
打赏
1658157489
查看更多评论
0.0380s