摘要: #仿函数(函数对象) 仿函数又称函数对象,函数对象首先是一个对象,即某个类的实例。其次,函数对象的行为和函数一致,即是说可以像调用函数一样来使用函数对象,如参数传递、返回值等。这种行为是通过重载类的()操作符来实现的。 【示例】 { public: void operator()(int n) { 阅读全文
posted @ 2022-03-11 01:02 底层逻辑 阅读(94) 评论(0) 推荐(0)
摘要: #迭代器 迭代器(iterator):扮演容器与算法之间的胶合剂,是所谓的“泛型指针”。 迭代器模式:提供一种方法,使之能够依序寻访某个聚合物(容器)所含的各个元素,而又无需暴露该聚合物的内部表达方式。 STL的中心思想在于:将数据容器和算法分开,彼此独立设计,最后再以一贴胶着剂(iterator) 阅读全文
posted @ 2022-03-11 00:53 底层逻辑 阅读(92) 评论(0) 推荐(0)
摘要: #一、简介 关联容器在存储时是以关键字key为下标进行存储的,标准的STL关联容器分为set和map两大类,之后的衍生版本有multiset和multimap,它们的区别是在存储时是否容许出现关键字key相同的情况。这些容器的底层机制均以RB-tree(红黑树)完成。 ##1、对组pair类型提供的 阅读全文
posted @ 2022-03-10 23:07 底层逻辑 阅读(149) 评论(0) 推荐(0)
摘要: #一、简介 Vector中所采用的数据结构非常简单:线性连续空间。当分配空间被占满而仍然需要添加元素时,vector便会进行一场空间重新配置的大工程!在这里,程序员需要注意的是,一旦引起空间重新配置,之前指向原vector的所有迭代器就都失效了,这一点在工程中容易引起bug。 List则对空间的运用 阅读全文
posted @ 2022-03-10 21:53 底层逻辑 阅读(143) 评论(0) 推荐(0)
摘要: #一、基本概念 STL(Standard Template Library),即标准模板库,是一个具有工业强度的,高效的C程序库。它被容纳于C标准程序库(C++ Standard Library)中,是ANSI/ISO C标准中最新的也是极具革命性的一部分。该库包含了诸多在计算机科学领域里所常用的基 阅读全文
posted @ 2022-03-10 21:38 底层逻辑 阅读(536) 评论(0) 推荐(0)
摘要: 对于程序中的变量名称,有人主张尽量让变量名简单易懂。在定义变量时,不仅让变量名称易于理解,而且数据类型、属性能够一眼看出,这种观念的命名称为匈牙利命名。 匈牙利命名法是一种编程时的命名规范。这种命名法的出发点是把变量名按:属性+类型+对象描述的顺序组合起来,以使程序员作变量时对变量的类型和其它属性有 阅读全文
posted @ 2022-03-10 21:26 底层逻辑 阅读(179) 评论(0) 推荐(0)
摘要: #一、前向声明 在C++中,类需要先定义,而后才能被实例化,但是实际存在一种场景是:两个类需要相互引用或相互成为类中的子对象成员时,就无法先定义使用,在编译环节就出现错误导致编译失败,这时就需要用到前向声明,此外,前向声明的类不能被实例化。 【示例】 #ifndef _A_H #define _A_ 阅读全文
posted @ 2022-03-10 21:21 底层逻辑 阅读(375) 评论(0) 推荐(0)
摘要: #内存泄露 ##1、内存泄露的定义 一般我们常说的内存泄漏是指堆内存的泄漏。堆内存是指程序从堆中分配的,大小任意的(内存块的大小可以在程序运行期决定),使用完后必须显示释放的内存。 应用程序一般使用malloc,realloc,new等函数从堆中分配到一块内存,使用完后,程序必须负责相应的调用fre 阅读全文
posted @ 2022-03-10 21:15 底层逻辑 阅读(94) 评论(0) 推荐(0)
摘要: #C内存管理 #一、内存分配方式 在C中内存被分为5个区,分别是:栈区、堆区、自由存储区、全局/静态存储区和常量存储区。 1、栈区 在执行函数时,函数内局部变量的存储单元都可一在栈上创建,函数执行结束时,这些存储单元自动被释放。栈内存分配运算内置与处理器指令集中,效率很高,当分配的内存容量有限。 2 阅读全文
posted @ 2022-03-10 21:10 底层逻辑 阅读(73) 评论(0) 推荐(0)
摘要: #一、单例模式 单例模式,可以说设计模式中最常应用的一种模式了,据说也是面试官最喜欢的题目。但是如果没有学过设计模式的人,可能不会想到要去应用单例模式,面对单例模式适用的情况,可能会优先考虑使用全局或者静态变量的方式,这样比较简单,也是没学过设计模式的人所能想到的最简单的方式了。 一般情况下,我们建 阅读全文
posted @ 2022-03-10 20:57 底层逻辑 阅读(228) 评论(0) 推荐(0)