C++中构造函数,拷贝构造函数和赋值函数的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++中构造函数,拷贝构造函数和赋值函数的区别相关的知识,希望对你有一定的参考价值。

class A
    //    ...
;

A a = new A();
A b = a;    //拷贝构造函数
A c;
c = a;        //赋值函数

参考技术A 字面上理解:
构造函数 是一种特殊的方法 主要用来在创建对象时初始化对象 即为对象成员变量赋初始值.一个类也可以有多个构造函数,用来初始化不同形式的类。
拷贝函数是特殊的构造函数,用来完成对象初始化,即定义时赋值,下面程序中有详解。如果没有定义,系统会调用默认的拷贝构造函数,但此函数不能处理深拷贝问题,及若有new用到,系统的只是共享区域,不分配新空间。
赋值函数要用运算符重载来实现。
可以使用合成复制构造函数的类通常也可以使用合成赋值操作符。一般来说,如果类需要复制构造函数,也就需要赋值操作符。
如需要深入了解区别,建议还是参考具体案例去理解。

以上是关于C++中构造函数,拷贝构造函数和赋值函数的区别的主要内容,如果未能解决你的问题,请参考以下文章

C++ 拷贝构造函数和赋值运算符

c++中拷贝构造函数和赋值运算符重载本质上一样么

试验C++构造函数,析构函数,拷贝构造函数和赋值构造函数

c++类大四个默认函数-构造函数 析构函数 拷贝构造函数 赋值构造函数

C++类和对象(构造函数析构函数拷贝构造函数赋值运算符重载Const成员)详细解读

C++类和对象(构造函数析构函数拷贝构造函数赋值运算符重载Const成员)详细解读