cpp后端学习笔记

1.shared_ptr的循环引用

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

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

2.stl

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

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

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

3.前置++和后置++

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

4.trival destructor

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

相关推荐
elseif1231 小时前
循环队列(详细)GESP六级
数据结构·c++·队列·循环队列
学生信的大叔1 小时前
qiime2-2025.10安装与使用
笔记
强子感冒了2 小时前
JavaWeb学习笔记:动静态Web、URL、HTTP
前端·笔记·学习
Ralph_Y2 小时前
const_cast正确用法与风险规避
开发语言·c++
Aliex_git2 小时前
Dockerfile 优化实践笔记
笔记·学习·gitlab
xhyu612 小时前
【学习笔记】推荐系统 (7.特征交叉:FM、DCN、LHUC、SENet、Bilinear Cross、FiBiNet)
笔记·学习
芝士雪豹只抽瑞克五2 小时前
HAProxy 七层负载均衡器笔记
运维·笔记·负载均衡
sycmancia2 小时前
C++——友元、函数重载、操作符重载
开发语言·c++
问好眼2 小时前
《算法竞赛进阶指南》0x01 位运算-1.a^b
c++·算法·位运算·信息学奥赛