新闻动态 你的位置:大神里面怎么看账号登陆记录 > 新闻动态 > 【蓝因子教育】构造函数语意学之二 拷贝构造函数
【蓝因子教育】构造函数语意学之二 拷贝构造函数 发布日期:2025-04-15 08:40 点击次数:161
关于默认拷贝构造函数,有一点和默认构造函数类似,就是编译器只有在【需要的时候】才去合成默认的拷贝构造函数。
在什么时候才是【需要的时候】呢?
也就是类不展现【bitwise copy semantics】时,即不展现【逐位次拷贝】时,才会合成默认拷贝构造函数。
所谓的【逐位次拷贝】,也就是简单的赋值,不管类内的数据成员是 int 还是 char * 指针,都是简单的赋值,这叫【逐位次拷贝】。
那什么请下不展现【逐位次拷贝】呢?
有四种情况:
①类中有一个类对象成员,而该类对象成员声明了一个默认拷贝构造函数(不管这个默认拷贝构造函数是显式声明的还是编译器合成的)
②类继承自一个基类,而该基类有一个默认拷贝构造函数(不管这个默认拷贝构造函数是显式声明的还是编译器合成的)
③类声明了一个或多个虚函数时
④类派生自一个继承链,其中有一个或多个虚基类时
发布于:湖南省