c++面向对象编程

struct和class选择

  • 如果你的类型主要是一堆公开的数据,用 struct。

  • 如果你的类型有私有状态和公有接口,用 class。

移动语义(c++11引入)

拷贝构造函数

拷贝构造函数是一种特殊的构造函数,它在创建对象时,是使用同一类中之前创建的对象来初始化新创建的对象,**他能确保新对象与原对象内容相同但内存独立,修改新对象不会影响原对象。**拷贝构造函数通常用于:

  • 通过使用另一个同类型的对象来初始化新创建的对象。

  • 复制对象把它作为参数传递给函数。

  • 复制对象,并从函数返回这个对象。

cpp 复制代码
ClassName(const ClassName& other);

当你的类包含动态资源(指针、文件句柄等)时,必须自己写拷贝构造函数实现深拷贝,否则默认的浅拷贝会导致内存泄漏或双重释放。

和构造函数的区别

相关推荐
for_ever_love__12 分钟前
爬虫项目: 获取高分电影的数据总结
开发语言·python·学习
weixin_3077791317 分钟前
C++代码实现MATLAB中的ode23t函数功能
开发语言·c++·算法·matlab
wuminyu28 分钟前
Markword在紧凑对象头上的实现原理剖析
java·linux·c语言·jvm·c++
君顾139 分钟前
24小时自助健身房系统开发实战与完整指南
java·开发语言·健身房
hansang_IR1 小时前
【代数与组合数学 | 那忘算 5】生成函数 & 例题 & 卷积
c++·算法·多项式·生成函数·母函数
无忧.芙桃1 小时前
数据结构之排序算法(上):从评价指标到插入、希尔、选择与堆排序
c语言·c++·排序算法
syagain_zsx1 小时前
算法基础篇 · 02 高精度(C++ 题解)
开发语言·c++·学习·高精度
6Hzlia1 小时前
【Classic 150 刷题计划】 LeetCode 242. 有效的字母异位词 | C++ 哈希计数与严密防线
c++·算法·leetcode
wabs6661 小时前
关于二叉树【力扣101.对称二叉树的思考】
数据结构·c++·算法·leetcode·二叉树
白远山1 小时前
无人自助健身平台搭建:从架构设计到设备联动的完整实战
java·开发语言·架构·需求分析