摘要:
# 1.什么是STL? C++STL从广义来讲包括了三类:算法,容器和迭代器。 - 算法包括排序,复制等常用算法,以及不同容器特定的算法。 - 容器就是数据的存放形式,包括顺序容器和关联式容器,顺序式容器就是list,vector等,关联式容器就是set,map等。 - 在C++中,迭代器是一种用于 阅读全文
posted @ 2023-08-02 22:16
CodeMagicianT
阅读(269)
评论(0)
推荐(0)
摘要:
# 10.智能指针出现循环引用怎么解决? 弱指针用于专门解决shared_ptr循环引用的问题,weak_ptr不会修改引用计数,即其存在与否并不影响对象的引用计数器。循环引用就是:两个对象互相使用一个shared_ptr成员变量指向对方。弱引用并不对对象的内存进行管理,在功能上类似于普通指针,然而 阅读全文
posted @ 2023-08-02 22:16
CodeMagicianT
阅读(84)
评论(0)
推荐(0)
摘要:
# 9.手写实现智能指针类需要实现哪些函数? ==1.智能指针是一个数据类型,一般用模板实现,模拟指针行为的同时还提供自动垃圾回收机制。它会自动记录SmartPointer对象的引用计数,一旦T类型对象的引用计数为0,就释放该对象。== 除了指针对象外,我们还需要一个引用计数的指针设定对象的值,并将 阅读全文
posted @ 2023-08-02 22:15
CodeMagicianT
阅读(268)
评论(0)
推荐(0)
摘要:
# 8.智能指针的循环引用 循环引用是指使用多个智能指针share_ptr时,出现了指针之间相互指向,从而形成环的情况,有点类似于死锁的情况,这种情况下,智能指针往往不能正常调用对象的析构函数,从而造成内存泄漏。举个例子: ```C++ #include using namespace std; t 阅读全文
posted @ 2023-08-02 22:15
CodeMagicianT
阅读(234)
评论(0)
推荐(0)
摘要:
# 7.说说你了解的auto_ptr作用 1.auto_ptr的出现,主要是为了解决“有异常抛出时发生内存泄漏”的问题;抛出异常,将导致指针p所指向的空间得不到释放而导致内存泄漏; 2.auto_ptr构造时取得某个对象的控制权,在析构时释放该对象。我们实际上是创建一个auto_ptr\类型的局部对 阅读全文
posted @ 2023-08-02 22:15
CodeMagicianT
阅读(51)
评论(0)
推荐(0)
摘要:
# 6.智能指针的作用 1.C++11中引入了智能指针的概念,方便管理堆内存。使用普通指针,容易造成堆内存泄露(忘记释放),二次释放,程序发生异常时内存泄露等问题等,使用智能指针能更好的管理堆内存。 2.智能指针在C++11版本之后提供,包含在头文件\中,shared_ptr、unique_ptr、 阅读全文
posted @ 2023-08-02 22:14
CodeMagicianT
阅读(54)
评论(0)
推荐(0)
摘要:
# 5.说一说你了解的关于lambda函数的全部知识 1.利用lambda表达式可以编写内嵌的匿名函数,用以替换独立函数或者函数对象; 2.每当你定义一个lambda表达式后,编译器会自动生成一个匿名类(这个类当然重载了()运算符),我们称为闭包类型(closure type)。那么在运行时,这个l 阅读全文
posted @ 2023-08-02 22:12
CodeMagicianT
阅读(243)
评论(0)
推荐(0)
摘要:
# 4.智能指针的原理、常用的智能指针及实现 ## 1.auto_ptr 当你在读这篇文章的时候,应该都有这样一个疑问?那就是为什么要使用[智能指针](https://so.csdn.net/so/search?q=智能指针&spm=1001.2101.3001.7020)。 我们先看这样一个示例: 阅读全文
posted @ 2023-08-02 22:09
CodeMagicianT
阅读(373)
评论(0)
推荐(0)
摘要:
# 3.C++中NULL和nullptr区别 ## 1.NULL是什么 在[《NULL,0,'\0',"0","\0"的区别》](http://mp.weixin.qq.com/s?__biz=MzI2OTA3NTk3Ng==&mid=2649284887&idx=1&sn=e97526b0e2cb 阅读全文
posted @ 2023-08-02 22:04
CodeMagicianT
阅读(113)
评论(0)
推荐(0)
摘要:
# 2.auto、decltype和decltype(auto)的用法 ## 1.auto 编程时常常需要把表达式的值赋给变量,这就要求声明变量时清楚的知道表达式的类型。然而有些情况是声明的变量的类型我们并不知道,比如在模板编程时。为了解决这个问题,C++11引入了auto类型说明符,用它来让编译器 阅读全文
posted @ 2023-08-02 22:03
CodeMagicianT
阅读(473)
评论(0)
推荐(0)

浙公网安备 33010602011771号