首页 > 其他分享 >拷贝构造函数

拷贝构造函数

时间:2023-01-28 19:34:33浏览次数:54  
标签:p1 c++ 函数调用 构造 拷贝 构造函数

配合这篇文章食用更佳:

构造析构函数

拷贝构造函数调用时机

使用一个已经创建完毕的对象来初始化一个新对象(复制)

值传递的方式给函数参数传值(实参传递给形参的过程,复制)

以值方式返回局部对象(作为函数返回值,复制)

Person doWork()
{
    Person p1;
    return p1;
}

构造函数调用规则

如果用户定义有参构造函数,c++不再提供默认无参构造,但是会提供默认拷贝构造

如果用户定义拷贝构造函数,c++不会提供其他构造函数。

拷贝分类

深拷贝:在堆区重新申请空间,进行拷贝操作

浅拷贝:简单的赋值操作

​    

标签:p1,c++,函数调用,构造,拷贝,构造函数
From: https://www.cnblogs.com/93006zhang/p/17071136.html

相关文章

  • 【Python】python深拷贝和浅拷贝(一)
    【Python】python深拷贝和浅拷贝(一)大家好,我们的gzh是朝阳三只大明白,满满全是干货,分享近期的学习知识以及个人总结(包括读研和IT),跪求一波关注,希望和大家一起努力、进步!!定义直......
  • 【Python】python深拷贝和浅拷贝(二)
    【Python】python深拷贝和浅拷贝(二)大家好,我们的gzh是朝阳三只大明白,满满全是干货,分享近期的学习知识以及个人总结(包括读研和IT),跪求一波关注,希望和大家一起努力、进步!!前言上......
  • Day18 - property和拷贝
    1.装饰器方式的property使用@property对get方法进行装饰get方法在装饰时,不需要再以get_做为前缀在通过@property装饰好Get方法后,可以使用get方法的方法......
  • 【C++ OOP 02 对象的初始化和清理】构造/析构函数、深/浅拷贝、初始化列表以及静态成
    【对象的初始化和清理】生活中我们买的电子产品都基本会有出厂设置,在某一天我们不用时候也会删除一些自己信息数据保证安全C++中的面向对象来源于生活,每个对象也都会有......
  • C++成员初始化列表比在构造函数内部赋值效率更高
    A是个类,B中包含A类的对象在执行构造函数的时候,如果内部有类对象,使用列表初始化效率会更高B中的a和b都是A的对象a是用的列表初始化b是在构造函数内部初始化a只会执行一......
  • C++零拷贝
    零拷贝就是一种避免CPU将数据从一块存储拷贝到另外一块存储的技术vector的函数emplace_back()它跟push_back()函数一样可以将一个元素插入容器尾部区别在于使用push_b......
  • Win32拷贝文件夹
    下面的代码展示了如何拷贝文件夹:BOOLCopyDir(LPCTSTRlpszSrcDir,LPCTSTRlpszDstDir){SHFILEOPSTRUCTsfo;ZeroMemory(&sfo,sizeof(sfo));sf......
  • C++Day09 深拷贝、写时复制(cow)、短字符串优化
    一、std::string的底层实现1、深拷贝1classString{2public:3String(constString&rhs):m_pstr(newchar[strlen(rhs)+1]()){4}5private:6cha......
  • 应用实例:综合使用BufferedReader和BufferedWriter完成文件拷贝
    publicclassBufferedCopy_{publicstaticvoidmain(String[]args){/***特别说明*1.BufferedReader和BufferedWriter是按照......
  • python赋值和拷贝
    赋值,值相同,内存地址相同–函数参数传递。浅拷贝,值相同,内存地址不同。拷贝第一层内存地址的引用。第一层元素为可变元素。拷贝过的引用会跟着发生变化。否则不发生变化import......