cpp后端学习笔记

1.shared_ptr的循环引用

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

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

2.stl

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

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

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

3.前置++和后置++

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

4.trival destructor

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

相关推荐
tankeven1 天前
HJ132 小红走网格
c++·算法
kinl20181 天前
cs2385_note0 (lec2-lec5)
笔记
2401_857865231 天前
C++模块接口设计
开发语言·c++·算法
add45a1 天前
嵌入式C++低功耗设计
开发语言·c++·算法
2401_874732531 天前
C++中的状态模式
开发语言·c++·算法
闻缺陷则喜何志丹1 天前
【枚举】P6786「SWTR-6」GCDs & LCMs|普及+
c++·算法·洛谷
m0_716667071 天前
实时数据压缩库
开发语言·c++·算法
dapeng28701 天前
多协议网络库设计
开发语言·c++·算法
阿猿收手吧!1 天前
【C++】建造者与代理模式实战解析
开发语言·c++·代理模式
2501_945424801 天前
C++跨平台开发实战
开发语言·c++·算法