cpp后端学习笔记

1.shared_ptr的循环引用

出现的原因是shared_ptr互相指向对方,结果内存区域的引用总是大于0的,结果资源持久不能释放。

智能指针是对RAII的实现,用类的初始化和析构来管理资源,在初始化的时候分配资源析构释放资源。

2.stl

stl主要是六个组成部分,其中容器是数据存储的容器,分为序列式容器和关联式容器,序列式容器比如list、deque,关联式容器有set、map。

迭代器提供了遍历访问数据的方法,对于链表这些并不总是可以通过下标去访问于是可以用迭代器。

算法,通过迭代器和容器联系起来,例如排序算法,去重。

3.前置++和后置++

前置返回的是对象的引用效率更高,后置需要创建新的对象。

4.trival destructor

直译就是不重要的析构函数,这些析构函数不需要像智能指针里的必须用,比如减少引用释放空间,这里的是可有可无的,编译器为了效率可能不会产生,对于这些在new之后的delete就可以不调用析构函数。

相关推荐
初夏睡觉1 小时前
c++1.3(变量与常量,简单数学运算详解),草稿公放
开发语言·c++
阿拉斯攀登1 小时前
从入门到实战:CMake 与 Android JNI/NDK 开发全解析
android·linux·c++·yolo·cmake
小陈phd3 小时前
多模态大模型学习笔记(三十)—— 基于YOLO26 Pose实现车牌检测
笔记·学习
野指针YZZ3 小时前
XV6操作系统:trap机制学习笔记
笔记·学习
筱璦4 小时前
期货软件开发 - C# 调用 HQChart 指标计算 C++ 动态库
c++·microsoft·c#
不想写代码的星星5 小时前
C++ 内存管理:分区、自定义分配器、常见问题与检测工具
c++
-许平安-5 小时前
MCP项目笔记九(插件 bacio-quote)
c++·笔记·ai·plugin·mcp
沉鱼.445 小时前
第十三届题目
c语言·c++·算法
Xudde.6 小时前
班级作业笔记报告0x10
笔记·学习·安全·web安全·php
liulilittle6 小时前
C++ 无锁编程:单停多发送场景高性能方案
服务器·开发语言·c++·高性能·无锁·原子