- 博客(10)
- 收藏
- 关注
原创 c++ 知识点笔记(2023.12.12)
最一般的情况是,对象A内有一个shared_ptr指向对象B,对象B内也有一个shared_ptr指向A,另外,又有两个单独的shared_ptr分别指向A/B;A与B分别有两个shared_ptr指向他们,所以他们引用计数均为2,造成了循环引用,谁也不会被释放,因为始终有另外一个指针指向它。解决方法:1.当剩下最后一个引用时,需要收到打破循环引用释放对象;
2023-12-12 20:21:48 151
原创 c++ 知识点笔记(2023.12.11)
栈区:存储的是函数的局部变量/函数参数/返回地址等,是由编译器自动分配和释放。堆区:动态申请的内存空间,就是malloc分配的内存块,是由程序员控制分配和释放,如果程序结束还没有有释放,系统会自动回收。全局/静态存储区:存储的是全局变量和静态变量,程序结束会自动释放。常量存储区:存放的是常量,不允许修改,程序结束也会自动释放。代码区:存放代码,不允许修改,编译后的二进制文件存放在这里。
2023-12-11 17:18:37 487 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人