自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 C++ stack配接器的源码

本篇主要是分享stl30版本中queue配接器的源码。希望对大家有所帮助。

2024-10-25 11:00:00 151 2

原创 C++ stack适配器(配接器)

stack的介绍文档stack就是栈,满足后入先出(LIFO)原则适配器是一种设计模式(设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结),该种模式是将一个类的接口转换成客户希望的另一个接口container adapter 两个容器 stack 、queue其实是适配器function adapter 改变仿函数的接口者。

2024-10-25 10:00:00 838 2

原创 C++ queue配接器的源码

本篇主要是分享stl30版本中queue配接器的源码。希望对大家有所帮助。

2024-10-24 11:00:00 207

原创 C++ queue适配器(配接器)

queue的文档介绍queue就是队列,满足先入先出(FIFO)原则适配器是一种设计模式(设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结),该种模式是将一个类的接口转换成客户希望的另一个接口container adapter 两个容器 stack 、queue其实是适配器function adapter 改变仿函数的接口者。

2024-10-24 10:00:00 689

原创 1024程序员节:程序员的特别日子

Happy 1024!

2024-10-24 09:21:40 389

原创 C++ deque容器的源码

本篇主要是分享stl30版本中deque容器的源码。

2024-10-23 11:00:00 138

原创 C++ deque容器

deque的文档介绍deque吸取了vector的随机迭代器,支持++ -- + -操作,访问某个数据的效率可以达到O(1),并且使用方便,大多数接口与vector一致deque称之为双端队列,顾名思义就是支持两端插入删除的特殊队列,所以deque一般也是运用经常头插头删和尾插尾删的场景。

2024-10-23 10:00:00 1984 4

原创 C++ list容器源码

本篇主要是分享stl30版本中。

2024-10-22 12:00:00 334

原创 C++ list

list的文档介绍list是一种双向循环链表的结构。

2024-10-22 10:00:00 1099

原创 C++ vector容器源码

本篇主要是分享stl30版本中vector容器的源码。

2024-10-21 12:00:00 132

原创 C++ vector容器

vector的文档介绍使用STL的三个境界:能用,明理,能拓展,那么下面学习vector,我们也是按照这三个阶段来进行逐步深入学习。构造函数声明接口说明vecotr();无参构造构造并初始化n个val拷贝构造使用迭代器进行初始化构造// 无参构造// 4个int类型值为100// 拷贝构造。

2024-10-21 10:00:00 982 1

原创 C++ string类

Linux的g++当容量值n > 字符串长度size;进行缩小,缩小的大小满足扩容的整数对齐当扩容值n < 字符串长度size;进行缩小但不会小于size,依然满足扩容的整数对齐。

2024-08-11 17:05:57 1285

原创 C++ string类的模拟实现

这篇文章,主要就是展示模拟实现C++标准库中的string类的代码,下面就是具体的代码,同时也上传了具体的文件。

2024-08-11 10:30:00 331

原创 C++程序员的七夕节

C++程序员的七夕节,当然是自己new对象啦

2024-08-10 19:29:51 225 3

原创 STL简介

STL是C++标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构与算法的软件框架。

2024-08-10 10:30:00 708

原创 C++模版

class 类模板名// 类内成员定义// 一个简单的Stack类模板public:,_size(0){}~Stack()private:T* array;// 模板不建议声明和定义分离到两个文件.h 和.cpp,这样会出现链接错误template // 模板只是一个模具,不是类型,重名不会报错template指明的模板只能支持相邻的下一个语句使用,后面如果需要得重新指明。如上面的声明和定义分离,定义的时候就重新再指明了模板,否则将会报错。

2024-08-09 13:30:00 729

原创 CC++ 内存管理

这是new/delete 和 malloc/free最大区别就是new和delete对于自定义类型除了开空间外,还会调用自己的构造函数和析构函数。int main()// new/delete 和 malloc/free最大区别是 new/delete对于【自定义类型】// 除了开空间外,还会调用构造函数和析构函数// 动态申请一个A类型的空间并自动调用拷贝构造初始化为10。

2024-08-09 10:30:00 2018

原创 【C++语法糖】范围for

C++11标准后引入了范围for,这个范围for是一种语法糖,来简化代码书写。下面是简单遍历数组的一段简单代码但是如果将数组换成不连续存储的链表list,就不能使用上面的方式,得用迭代器。我们可以看到这段代码还是相对比较麻烦的,C++11以后引入了范围for的语法糖就大大简化了上面的代码。

2024-08-08 13:30:00 2223

原创 C++ auto关键字

C++中有很多很长的类型,那么作为一个优秀的编程语言肯定会想办法便利程序员开发。在C语言中typedef给类型取别名,但是typedef还是有很多不足,比如我只用一次该类型,那么typedef重命名就有点多余了。C++11标准中将auto赋予新的含义,也可以完成这一功能。

2024-08-08 10:00:00 467

原创 类和对象(下)

上篇类和对象(中)已经介绍了六种默认构造函数,这篇主要是对类和对象的补充,如构造函数中的初始化列表、explicit的使用、static使用以及编译器对对象构造时的优化等等。

2024-08-07 17:00:00 747

原创 类和对象(中)

默认成员函数就是用户没有显示实现,编译器会自动生成的成员函数称为默认成员函数。一个类,我们不写的情况下编译器会默认生成一下6个默认成员函数初始化和清理和拷贝赋值比较重要,取地址重载不重要,C++11还增加了两个默认成员变量,移动构造和移动赋值。但是,大多数情况下,编译器是无法自动生成与我们需求完全一致的默认成员函数,这就需要我们自己来进行编写。

2024-08-07 12:49:33 1121

原创 类和对象(上)

class为定义类的关键字,Stack为类的名字(自定义),{}中为类的主体即一个类域,注意类定义结束时后面分号不能省略(与struct一致)。类体重内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。为了区分成员变量,一般习惯上成员变量会加一个特殊标识,如成员变量前面或者后面加"_"或者"m"开头,具体编码风格看公司要求。C++中的struct也可以定义类,是一个公共类,C++兼容C中struct的用法,同时struct升级成了类。

2024-08-06 13:00:00 2207

原创 C++引用

​ 引用不是新定义一个变量,而是给已存在变量取一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用一块内存空间。类型& 引用别名 = 引用对象;int a = 10;int& b = a;

2024-08-06 09:00:00 420

原创 C++空指针(nullptr)

nullptr是一种特殊类型的字面量,它可以转换成任意其他类型的指针类型。使用nullptr定义空指针可以避免类型转换的问题,因为nullptr只能被隐式地转换为指针类型,而不能转换为整型类型。通过 f((void*)0) 我们可以知道C++对指针类型转换比较严格,无法将 void* 类型转换成 int*。​ 在C语言中我们把空指针定义成NULL,但是这在C++中会有所问题,因为C++对指针类型转换比较严格。如此可知,C++中NULL被定义为字面常量0,C中NULL被定义为无类型指针(void*)的常量。

2024-08-05 17:04:27 969

原创 C++ 域

所以从上可知局部域和全局域除了会影响编译查找逻辑(就近原则),还会影响变量的生命周期(一般以一对 “{ }” 所在的区域为生命周期)。​ C++中域有函数局部域,全局域,命名空间域,类域;域影响的是编译时语法查找一个变量/函数/类型出处(声明或定义)的逻辑,局部域和全局域除了会影响编译查找逻辑,还会影响变量的生命周期,命名空间域和类域不影响变量生命周期。

2024-08-05 16:58:57 307

原创 深入理解指针(5)

本篇文章主要针对前面学的指针知识进行做题巩固。

2024-04-20 20:08:33 1051

原创 sizeof 和 strlen 的对比

本篇文章主要围绕着sizeof和strlen展开叙述,主要目标是了解这两个的用法,注意事项,以及辨析两者间的区别。

2024-04-20 08:00:00 753

原创 深入理解指针(4)

本篇文章讲述了什么是回调函数,以及库函数qsort的用法、原理以及模拟实现qsort。

2024-04-18 22:30:08 676 1

原创 深入理解指针(3)

这篇文章主要以各种各样的指针类型以及指针和数组的结合类型进行展开叙述,如(字符指针,数组指针,函数指针,函数指针数组),并且还简单的写了一个了转移表。内容有点长,但是我相信如果能看完的话,能对你有所帮助。

2024-04-18 16:40:58 1200 1

原创 深入理解指针(2)

本篇文章主要围绕指针和数组的关系以及数组的理解来讲述。下面我们就来看看有关指针和数组有关的内容。

2024-04-16 18:00:00 1184 1

原创 深入理解指针(1)

计算机中处理数据时,得先去通过地址总线去寻找数据,这就得引入地址的概念。地址可以抽象成数据存放的位置。而指针就是用来存放地址。

2024-04-16 09:00:00 1854

原创 C++函数重载

在识别函数声明是否相同时,并不考虑 const 和 volatile 修饰符。②如果形参。

2024-02-25 09:00:00 620

原创 C++缺省函数

C++增对C语言的函数引入了缺省的概念,即可以直接在形式参数中定义赋值,若实际参数未传输数值,则直接采用形式参数的数值。

2024-02-24 20:30:00 281

原创 C++:inline函数(内联函数)

C++中inline来替代宏函数。

2024-02-24 10:00:00 2397

原创 C++的命名空间(namespace)

其分为两种情况:1、引入头文件中namespace所自定义空间名字相同时,命名空间中成员名称无重复,那么他们会合并为一个命名空间,编译通过2、引入头文件中namespace所自定义空间名字相同时,命名空间中成员名称有重复,那么程序会在链接时报错。因为连接器会检测到重复定义的变量结论:重复定义只针对有内存操作的变量等相关定义,命名空间定义没有内存相关操作,所以不存在重复定义问题。

2024-02-23 09:00:00 807 1

原创 区分*p++,(*p)++,++*p,*++p

解释七种指针运算符和自增运算符结合的情况,让读者了解它们的用途

2024-01-04 09:00:00 899 2

原创 常见运算符极其优先级

解释各个运算符的用法与优先级

2024-01-01 09:00:00 4090

原创 区分a++ , ++a

2、当a++,++a需要其本身的值时,我们可以将其拆成两个部分{b = a;a = a+1} (b为引入的变量,用于记录a本身的值)当++a时,先a = a+1,后b = a (方便记忆:++在a的左侧,故先+1,再赋值)当a++时,先b = a,后 a = a + 1 (方便记忆:b在a的左侧,故先赋值,后+1)1、当a++,++a在不需要本身的值的时,两者等效,都为a = a + 1。++a本身值为a+1,而执行这一表达式后a为+1后的值。

2023-12-28 09:00:00 642 1

stl-stack.h(C++STL stack的源码)

stl30版本中配接器stack的源码

2024-10-25

stl-queque.h(C++STL queue的源码)

stl30版本中配接器queue的源码

2024-10-24

deque.h (包含stl-deque.h的头文件)

stl30版本中容器deque所引用的头文件,但deque具体实现在std_deque.h

2024-10-22

stl-deque.h (C++STL deque的源码)

stl30版本中容器deque的源码

2024-10-22

list.h(包含std-list.h的头文件)

stl30版本中容器list所引用的头文件,但list具体实现在std_list.h

2024-10-21

stl-list.h (list源码)

stl30版本中容器list的源码

2024-10-21

头文件vector.h

stl30版本中vector容器的源码

2024-10-21

stl-vector.h

stl30版本中vector容器的源码

2024-10-20

C++ string类的模拟实现

C++ string类的模拟实现

2024-08-11

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除