自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 c++标准库stack的简单模拟和常见使用

/ 定义一个存储整数的栈// 将元素压入栈// 输出栈顶元素std::cout << "栈顶元素:" << myStack.top() << std::endl;// 输出 30// 移除栈顶元素// 输出栈顶元素std::cout << "移除栈顶元素后,栈顶元素:" << myStack.top() << std::endl;// 输出 20// 检查栈是否为空if (!std::cout << "栈不为空" << std::endl;// 输出栈中元素的数量。

2025-03-31 17:10:07 311

原创 c++标准库queue的简单模拟和常见使用

例如,假设队列中依次加入元素 A、B、C,那么移除时会先移除 A,然后是 B,最后是 C。访问队尾元素(back):获取队列尾部的元素(std::queue 不支持,但可以通过底层容器访问)。队列是一种特殊的线性表,只允许在表的一端进行插入操作(入队),而在另一端进行删除操作(出队)。这种封装使得用户无需关心底层容器的具体实现细节,只需使用队列提供的接口即可。queue是一种容器适配器,queue的常见接口的模拟实现主要是代码的复用。对底层容器的操作进行了封装,只暴露了与队列操作相关的接口,如入队(

2025-03-31 17:08:47 275

原创 C语言到C++的过渡知识点

一.命名空间1.域的访问顺序(1)局部域,全局域,命名空间域(使用了域作用限定符才会进行访问)(2)域作用限定符【1】访问全局变量:在函数内部,如果局部变量与全局变量同名,局部变量的作用域会覆盖全局变量的作用域。此时,如果要访问全局变量,就需要使用“::”操作符。【2】访问命名空间成员:命名空间是C++中用于组织代码的一种方式,可以避免全局命名冲突。在访问命名空间中的成员时,可以使用“::”操作符来指定命名空间。

2025-03-30 11:16:15 1082

原创 C++标准库list的简单模拟和常见使用

迭代器是一种抽象的指针,用于访问容器中的元素。它提供了一种统一的接口,使得用户可以像操作普通指针一样操作容器中的元素,而无需关心容器的具体实现细节。随机访问迭代器(Random Access Iterator):支持随机访问,可以像普通指针一样进行加减操作,支持读取和修改元素。list:装着list_node和list_iterator,用来实现list的增删查改。返回指向容器“尾后”位置的迭代器(不是最后一个元素,而是最后一个元素的下一个位置)。这些函数返回的是常量迭代器,用于只读访问容器中的元素。

2025-03-30 11:14:59 348

原创 C++动态内存和模板

栈:编译器自动分配和释放,主要存放函数参数,局部变量等。操作方式类似数据结构当中栈的操作,具有先进后出的特点。变量的的生命周期限于作用域当中,出了作用域就会被释放。堆:用于动态内存分配,内存大小可以在运行的时候进行分配,需要程序员手动分配和释放。静态区:存储全局变量和静态变量,这些变量再整个生命周期当中都存在。初始化的全局变量和静态变量放在一起,没有初始化的放在另一块区域。程序结束之后,变量由系统释放内存常量区:用来存储常量数据,这个区域当中,变量通常是只读的。

2025-03-20 16:09:11 589

原创 C++:string库的常见用法和模拟实现

在C++中,是标准模板库(STL)中用于处理字符串的一个非常强大的类。它提供了丰富的成员函数和操作符重载,使得字符串的创建、修改、拼接、比较等操作变得非常方便。

2025-03-20 15:48:40 360

原创 动态内存分配

当是情况2的时候,原有空间之后没有足够多的空间时,扩展的方法是:在堆空间上另找一个合适大小的连续空间来使用。如果realloc成功,它会返回指向新内存块的指针(可能与原指针不同),并释放原内存块(如果新内存块与原内存块不重叠)。ptr参数是指向要调整大小的内存块的指针(如果为NULL,则realloc的行为与malloc相同)。野指针:释放内存后,应该将指向该内存的指针设置为NULL,以避免使用已经释放的内存(野指针)。如果参数ptr指向的不是动态开辟的,那free函数的行为是未定义的。

2024-10-25 14:42:05 896

原创 指针的含义和应用

1.指针是内存地址,是内存中一个最小单位的编号,该地址指向存储单元的首地址内存地址中的最小单位是字节,每一个字节都有对应的编号,这个编号叫做地址也叫做指针2.我们日常口语中说的指针常常是指针变量,是一个用来存放内存地址的变量3.两个操作符和指针的关系(1)&:取地址操作符,取出内存当中的起始地址,把地址存放到一个变量当中,这个变量就是指针变量(2)*:解引用操作符,用于获取指针变量所指向的内存地址中存储的值4.指针的大小在32位平台是4个字节,在64位平台上是8个字节。

2024-10-24 14:35:45 1536

原创 自定义类型详解

一.结构体一.结构体1.结构体的含义结构体是一种自定义类型,是一些值的集合,它允许将不同类型的数据项组合成一个单一的数据类型。区别于数组,结构体的每个成员可以是不同类型的变量2.结构体的创建和声明(1)结构体的声明(2)结构体创建【1】在main函数当中进行创建(局部变量)【2】直接在结构体声明之后进行创建(全局变量)【3】匿名对象的声明普通的结构体类型。删除结构体名称匿名结构体类型只能使用一次3.结构体变量的初始化【1】结构体创建的时候就可以初始化【2】结构体中含有数组。

2024-10-23 22:02:54 1134

原创 操作符的详细解释

负数的补码是在其反码的基础上加1(注意:符号位不参与运算)补码是计算机内部存储和运算整数的实际编码方式,它使得计算机能够直接进行二进制数的加减运算。2.反码:正数的反码和原码相同,负数的反码是在原码的基础上,符号位不变,其余各位按位取反(即1变0,0变1)反码其实是原码到补码的一个过渡,主要用于简化原码到补码的计算。(1)运算规则:如果两个操作数当中至少有一个为真,则结果为真,如果两个都为假,则结果为假。(1)运算规则:参与运算的两个数,如果两个对应的二进制位值不一样,则结果位1,否则为0。

2024-10-22 19:23:59 1163

原创 一维数组和二维数组

数组是一组相同类型元素的集合。

2024-09-21 18:31:12 1083

原创 库函数和自定义函数

自定义函数和库函数一样,有返回值类型,函数名,函数参数及函数体statement;ret_type:返回类型fun_name:函数名.paral:参数statement:函数体1.解释:告诉编译器函数的名称、返回类型和参数类型,但是函数是否真的存在,函数声明决定不了。2.函数的声明一般出现在函数的使用之前,要满足先声明后使用1.解释:函数的定义是指函数的具体实现,交代函数的功能实现2.包括返回类型、函数名、参数列表和函数体。

2024-09-19 17:10:18 1415

原创 控制语句:分支/循环/(转向)语句

1.分支语句和循环语句都是控制语句。控制语句用于控制程序的执行流程,以实现程序的各种结构方式(C语言支持三种结构:顺序结构、选择结构、循环结构),它们由特定的语句定义符构成,C语言有九种控制语句,可以分为以下三类:(1)条件判断语句也叫分支语句:if语句,switch语句(2)循环执行语句:do while语句,while语句,for语句(3)转向语句:break语句,goto语句,continue语句,return语句2.C语言是结构化的程序设计语言。

2024-09-10 15:08:44 727 2

空空如也

空空如也

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

TA关注的人

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