上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 46 下一页
摘要: # 8.STL的两级空间配置器 ## 为什么有适配器? (1)小块内存带来的内存碎片问题 单从分配的角度来看。由于频繁分配、释放小块内存容易在堆中造成外碎片(极端情况下就是堆中空闲的内存总量满足一个请求,但是这些空闲的块都不连续,导致任何一个单独的空闲的块都无法满足这个请求)。 (2)小块内存频繁申 阅读全文
posted @ 2023-08-02 22:27 CodeMagicianT 阅读(98) 评论(0) 推荐(0) 编辑
摘要: # 7.简单说一下traits技法 traits技法利用“内嵌型别“的编程技巧与**编译器的template参数推导功能**,增强C++未能提供的关于型别认证方面的能力。常用的有iterator_traits和type_traits。 **iterator_traits** 被称为**特性萃取机** 阅读全文
posted @ 2023-08-02 22:23 CodeMagicianT 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 6.STL中hashtable的实现? STL中的hashtable使用的是开链法解决hash冲突问题,如下图所示。 hashtable中的bucket所维护的list既不是list也不是slist,而是其自己定义的由hashtable_node数据结构组成的linked-list,而bucket聚 阅读全文
posted @ 2023-08-02 22:22 CodeMagicianT 阅读(43) 评论(0) 推荐(0) 编辑
摘要: # 5.说一下C++左值引用和右值引用 C++11正是通过引入右值引用来优化性能,具体来说是通过移动语义来避免无谓拷贝的问题,通过move语义来将临时生成的左值中的资源无代价的转移到另外一个对象中去,通过完美转发来解决不能按照参数实际类型来转发的问题(同时,完美转发获得的一个好处是可以实现移动语义) 阅读全文
posted @ 2023-08-02 22:20 CodeMagicianT 阅读(405) 评论(0) 推荐(0) 编辑
摘要: # 4.迭代器:++it、it++哪个好,为什么 1.前置返回一个引用,后置返回一个对象 ```C++ // ++i实现代码为: int& operator++() { *this += 1; return *this; } ``` 2.前置不会产生临时对象,后置必须产生临时对象,临时对象会导致效率 阅读全文
posted @ 2023-08-02 22:18 CodeMagicianT 阅读(75) 评论(0) 推荐(0) 编辑
摘要: # 3.使用智能指针管理内存资源,RAII是怎么回事? 什么是RAII? RAII是Resource Acquisition Is Initialization(wiki上面翻译成 “资源获取就是初始化”)的简称,是C++语言的一种管理资源、避免泄漏的惯用法。利用的就是C++构造的对象最终会被销毁的 阅读全文
posted @ 2023-08-02 22:17 CodeMagicianT 阅读(31) 评论(0) 推荐(0) 编辑
摘要: # 2.解释一下什么是trivial destructor 什么是 trivial destructor和 non-trivial destructor 如果用户不定义析构函数,而是用系统自带的,则说明,析构函数基本没有什么用(但默认会被调用)我们称之为trivial destructor。反之,如 阅读全文
posted @ 2023-08-02 22:17 CodeMagicianT 阅读(168) 评论(0) 推荐(0) 编辑
摘要: # 1.什么是STL? C++STL从广义来讲包括了三类:算法,容器和迭代器。 - 算法包括排序,复制等常用算法,以及不同容器特定的算法。 - 容器就是数据的存放形式,包括顺序容器和关联式容器,顺序式容器就是list,vector等,关联式容器就是set,map等。 - 在C++中,迭代器是一种用于 阅读全文
posted @ 2023-08-02 22:16 CodeMagicianT 阅读(225) 评论(0) 推荐(0) 编辑
摘要: # 10.智能指针出现循环引用怎么解决? 弱指针用于专门解决shared_ptr循环引用的问题,weak_ptr不会修改引用计数,即其存在与否并不影响对象的引用计数器。循环引用就是:两个对象互相使用一个shared_ptr成员变量指向对方。弱引用并不对对象的内存进行管理,在功能上类似于普通指针,然而 阅读全文
posted @ 2023-08-02 22:16 CodeMagicianT 阅读(54) 评论(0) 推荐(0) 编辑
摘要: # 9.手写实现智能指针类需要实现哪些函数? ==1.智能指针是一个数据类型,一般用模板实现,模拟指针行为的同时还提供自动垃圾回收机制。它会自动记录SmartPointer对象的引用计数,一旦T类型对象的引用计数为0,就释放该对象。== 除了指针对象外,我们还需要一个引用计数的指针设定对象的值,并将 阅读全文
posted @ 2023-08-02 22:15 CodeMagicianT 阅读(169) 评论(0) 推荐(0) 编辑
上一页 1 ··· 7 8 9 10 11 12 13 14 15 ··· 46 下一页