摘要:
# 8.智能指针的循环引用 循环引用是指使用多个智能指针share_ptr时,出现了指针之间相互指向,从而形成环的情况,有点类似于死锁的情况,这种情况下,智能指针往往不能正常调用对象的析构函数,从而造成内存泄漏。举个例子: ```C++ #include using namespace std; t 阅读全文
posted @ 2023-08-02 22:15
CodeMagicianT
阅读(222)
评论(0)
推荐(0)
摘要:
# 7.说说你了解的auto_ptr作用 1.auto_ptr的出现,主要是为了解决“有异常抛出时发生内存泄漏”的问题;抛出异常,将导致指针p所指向的空间得不到释放而导致内存泄漏; 2.auto_ptr构造时取得某个对象的控制权,在析构时释放该对象。我们实际上是创建一个auto_ptr\类型的局部对 阅读全文
posted @ 2023-08-02 22:15
CodeMagicianT
阅读(48)
评论(0)
推荐(0)
摘要:
# 6.智能指针的作用 1.C++11中引入了智能指针的概念,方便管理堆内存。使用普通指针,容易造成堆内存泄露(忘记释放),二次释放,程序发生异常时内存泄露等问题等,使用智能指针能更好的管理堆内存。 2.智能指针在C++11版本之后提供,包含在头文件\中,shared_ptr、unique_ptr、 阅读全文
posted @ 2023-08-02 22:14
CodeMagicianT
阅读(48)
评论(0)
推荐(0)
摘要:
# 5.说一说你了解的关于lambda函数的全部知识 1.利用lambda表达式可以编写内嵌的匿名函数,用以替换独立函数或者函数对象; 2.每当你定义一个lambda表达式后,编译器会自动生成一个匿名类(这个类当然重载了()运算符),我们称为闭包类型(closure type)。那么在运行时,这个l 阅读全文
posted @ 2023-08-02 22:12
CodeMagicianT
阅读(227)
评论(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
阅读(362)
评论(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
阅读(95)
评论(0)
推荐(0)
摘要:
# 2.auto、decltype和decltype(auto)的用法 ## 1.auto 编程时常常需要把表达式的值赋给变量,这就要求声明变量时清楚的知道表达式的类型。然而有些情况是声明的变量的类型我们并不知道,比如在模板编程时。为了解决这个问题,C++11引入了auto类型说明符,用它来让编译器 阅读全文
posted @ 2023-08-02 22:03
CodeMagicianT
阅读(450)
评论(0)
推荐(0)
摘要:
# 1.C++ 11有哪些新特性? - long long类型 - 列表初始化 - nullptr常量(替代 NULL) - constexpr变量[[68.C++中的const - CodeMagicianT - 博客园 (cnblogs.com)](https://www.cnblogs.com 阅读全文
posted @ 2023-08-02 22:03
CodeMagicianT
阅读(51)
评论(0)
推荐(0)
摘要:
# 15.类对象的大小受哪些因素影响? 1.类的非静态成员变量大小,静态成员不占据类的空间,成员函数也不占据类的空间大小; 2.内存对齐另外分配的空间大小,类内的数据也是需要进行内存对齐操作的; 3.虚函数的话,会在类对象插入vptr指针,加上指针大小; 4.当该类是某类的派生类,那么派生类继承的基 阅读全文
posted @ 2023-08-02 22:01
CodeMagicianT
阅读(114)
评论(0)
推荐(0)
摘要:
# 14.this指针调用成员变量时,堆栈会发生什么变化? 当在类的非静态成员函数访问类的非静态成员时,编译器会自动将对象的地址传给作为隐含参数传递给函数,这个隐含参数就是this指针。 即使你并没有写this指针,编译器在链接时也会加上this的,对各成员的访问都是通过this的。 例如你建立了类 阅读全文
posted @ 2023-08-02 22:01
CodeMagicianT
阅读(69)
评论(0)
推荐(0)

浙公网安备 33010602011771号