c++面向对象编程

struct和class选择

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

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

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

拷贝构造函数

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

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

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

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

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

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

和构造函数的区别

相关推荐
十五年专注C++开发2 分钟前
std::filesystem::exists 在有的win10系统抛异常原因分析
c++·文件系统·filesystem
神仙别闹21 分钟前
基于C语言开发的捕捉流星小游戏
c语言·开发语言
程序员Sunday34 分钟前
Promise.all、allSettled、race、any 怎么选,失败后其他请求会怎样
开发语言·前端·javascript
hetao17338371 小时前
2026-10-07 hetao1733837 的刷题记录
c++·算法
daxiangxm1 小时前
GEO策略:让AI直接引用你的内容
开发语言·团队开发·运维开发·个人开发·数据库开发
泡海椒1 小时前
JQuick-Excel 实战:用 VALIDATION 建立可维护的 Excel 导入校验
开发语言·python·excel
longlongzihan1 小时前
前缀积与后缀积 —— LeetCode 238. 除了自身以外数组的乘积
开发语言·c++·leetcode
All for pursuit.1 小时前
【动态规划-1】121.买卖股票的最佳时机
数据结构·c++·算法·leetcode·动态规划
szial1 小时前
JavaScript 的 call、apply 和 bind:如何控制函数调用
开发语言·前端·javascript
水饺编程1 小时前
第1章,[Win32 章节]:API 及 内存管理模式
c语言·c++·windows·visual studio