上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 58 下一页
摘要: # 9.手写实现智能指针类需要实现哪些函数? ==1.智能指针是一个数据类型,一般用模板实现,模拟指针行为的同时还提供自动垃圾回收机制。它会自动记录SmartPointer对象的引用计数,一旦T类型对象的引用计数为0,就释放该对象。== 除了指针对象外,我们还需要一个引用计数的指针设定对象的值,并将 阅读全文
posted @ 2023-08-02 22:15 CodeMagicianT 阅读(278) 评论(0) 推荐(0)
摘要: # 7.说说你了解的auto_ptr作用 1.auto_ptr的出现,主要是为了解决“有异常抛出时发生内存泄漏”的问题;抛出异常,将导致指针p所指向的空间得不到释放而导致内存泄漏; 2.auto_ptr构造时取得某个对象的控制权,在析构时释放该对象。我们实际上是创建一个auto_ptr\类型的局部对 阅读全文
posted @ 2023-08-02 22:15 CodeMagicianT 阅读(64) 评论(0) 推荐(0)
摘要: # 6.智能指针的作用 1.C++11中引入了智能指针的概念,方便管理堆内存。使用普通指针,容易造成堆内存泄露(忘记释放),二次释放,程序发生异常时内存泄露等问题等,使用智能指针能更好的管理堆内存。 2.智能指针在C++11版本之后提供,包含在头文件\中,shared_ptr、unique_ptr、 阅读全文
posted @ 2023-08-02 22:14 CodeMagicianT 阅读(66) 评论(0) 推荐(0)
摘要: # 5.说一说你了解的关于lambda函数的全部知识 1.利用lambda表达式可以编写内嵌的匿名函数,用以替换独立函数或者函数对象; 2.每当你定义一个lambda表达式后,编译器会自动生成一个匿名类(这个类当然重载了()运算符),我们称为闭包类型(closure type)。那么在运行时,这个l 阅读全文
posted @ 2023-08-02 22:12 CodeMagicianT 阅读(260) 评论(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 阅读(389) 评论(0) 推荐(0)
摘要: 3.C++中NULL和nullptr区别 NULL 是宏,本质是整数 0;nullptr 是 C++11 专用空指针,有独立类型,不会引起歧义。 1. 本质不同 NULL:是宏,C++ 里定义为 0(整数) #define NULL 0 nullptr:是关键字,类型是 std::nullptr_t 阅读全文
posted @ 2023-08-02 22:05 CodeMagicianT 阅读(135) 评论(0) 推荐(0)
摘要: 2.auto、decltype和decltype(auto)的用法 这三个都是 C++11 及以后的类型推导关键字,我给你用最清晰、面试能直接说的版本讲一遍。 2.1 auto 作用:从表达式的值推导变量类型 推导规则: 会自动忽略顶层 const、引用 会发生类型退化(数组→指针,函数→指针) i 阅读全文
posted @ 2023-08-02 22:04 CodeMagicianT 阅读(510) 评论(0) 推荐(0)
摘要: # 1.C++ 11有哪些新特性? - long long类型 - 列表初始化 - nullptr常量(替代 NULL) - constexpr变量[[68.C++中的const - CodeMagicianT - 博客园 (cnblogs.com)](https://chuna2.787528.xyz 阅读全文
posted @ 2023-08-02 22:03 CodeMagicianT 阅读(63) 评论(0) 推荐(0)
摘要: # 15.类对象的大小受哪些因素影响? 1.类的非静态成员变量大小,静态成员不占据类的空间,成员函数也不占据类的空间大小; 2.内存对齐另外分配的空间大小,类内的数据也是需要进行内存对齐操作的; 3.虚函数的话,会在类对象插入vptr指针,加上指针大小; 4.当该类是某类的派生类,那么派生类继承的基 阅读全文
posted @ 2023-08-02 22:01 CodeMagicianT 阅读(130) 评论(0) 推荐(0)
摘要: # 14.this指针调用成员变量时,堆栈会发生什么变化? 当在类的非静态成员函数访问类的非静态成员时,编译器会自动将对象的地址传给作为隐含参数传递给函数,这个隐含参数就是this指针。 即使你并没有写this指针,编译器在链接时也会加上this的,对各成员的访问都是通过this的。 例如你建立了类 阅读全文
posted @ 2023-08-02 22:01 CodeMagicianT 阅读(88) 评论(0) 推荐(0)
上一页 1 ··· 20 21 22 23 24 25 26 27 28 ··· 58 下一页