C++定义一个对象时用另外一个对象进行初始化(相同类对象)
C++定义一个对象时用另外一个对象进行初始化(相同类对象)如果用来初始化的一个类中定定义了一个指针,并指向了一个new分配的地址(构造函数中定义的)。那么再定义变量的时候...
C++定义一个对象时用另外一个对象进行初始化(相同类对象)如果用来初始化的一个类中定定义了一个指针,并指向了一个new分配的地址(构造函数中定义的)。那么再定义变量的时候这个地址会怎么样,会一起复制过去吗?
展开
展开全部
你说的这种情况就是浅拷贝,赋值过后两个对象的指针成员指向了同一块内存空间,这样是错误的方式,应该重写类的拷贝构造函数,给新的对象的指针数据成员重写new一个内存空间。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
两个对象的这个指针,会拥有同一个值,这可能会导致你不期望的结果
例如:
对象A改变了指针指向内存的内容,B会看到同样的变化;
A 调用了delete,B再使用这个指针,表示很崩溃
例如:
对象A改变了指针指向内存的内容,B会看到同样的变化;
A 调用了delete,B再使用这个指针,表示很崩溃
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
It was lovely walking with him
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询