c++面向对象编程

struct和class选择

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

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

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

拷贝构造函数

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

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

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

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

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

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

和构造函数的区别

相关推荐
李妍.1 天前
02Numpy基础(上)
开发语言·python
TheBestRucy1 天前
Python 九阳神功之贰:面向对象(下)
开发语言·python
吃着火锅x唱着歌1 天前
Effective C++ 学习笔记 条款43 学习处理模板化基类内的名称
c++·笔记·学习
AI_小站1 天前
刚面完百度的 Agent 开发岗,我才发现:世界就是个巨大的草台班子
java·开发语言·人工智能·spring·百度·langchain
felixking1 天前
C++20 协程
开发语言·c++·协程
Zane1994121 天前
CAS 与原子类:Java 如何实现无锁编程
java·开发语言
码农颜1 天前
6.3 主函数流程剖析
开发语言·php
TheBestRucy1 天前
Python 九阳神功:从零筑基到线程飞升
服务器·开发语言·网络·人工智能·python
研☆香1 天前
聊一聊前端的常见字 关键字
开发语言·前端·javascript
小小龙学IT1 天前
FlatBuffers 深度解析:Google 开源零拷贝序列化库完全指南
c++·开源