上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 46 下一页
摘要: # 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)
上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 46 下一页