c++中浅拷贝和深拷贝

先看这个例子:

#include<iostream>
using namespace std;

class a
{
public:
 a(int m)
 {
  b=m;
  cout<<"class a"<<endl;
 }
 ~a()
 {
  cout<<"delete class a"<<endl;
 }
 friend void display(a x)
 {
  cout<<x.b<<endl;
 }
private:
 int b;
};

void main()
{
 class a a1(3);
 display(a1);
 system("pause");
}

运行结果为:

c++中浅拷贝和深拷贝

图中显示在调用友元函数display(a x)时执行了一次类的析构函数~a();

但是如果把函数display(a& x)后就没有刚才的问题,说明在这个语句中存在着类拷贝过程,

在以后的编程中要注意一下。

 

原文链接: https://www.cnblogs.com/boyuan/archive/2011/12/09/2281847.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    c++中浅拷贝和深拷贝

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/38171

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月8日 下午2:49
下一篇 2023年2月8日 下午2:49

相关推荐