自定义博客皮肤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)
  • 收藏
  • 关注

原创 树形结构的关联式容器(map、set、multimap、multiset)

使用set前需包含头文件<set>,其定义在命名空间std中。set是STL中的一种关联式容器,用来存储唯一且有序的元素默认按升序进行存储,底层通过红黑树进行实现且元素不能修改T:为集合中元素的类型。Compare:是一个函数对象类,用于定义元素之间的排序规则,默认为less<T>,即升序排列。Alloc:是分配器类型,用于管理集合中元素的内存分配,默认为。

2025-05-13 15:26:34 936

原创 vector详细解析

当n大于size,会自动扩容,使size的大小为n,扩大capacity,尾部添加默认值0,也可以自己手动修改默认值。逆向迭代器,rbegin()指向最后一个元素的逆向迭代器,rend()指向第一个元素之前的位置的逆向迭代器,若容器为空则rbegin()==rend()。begin()用于获取指向容器第一个元素的迭代器,若容器为空,则begin()==end();清空所有元素,使size()为0,但保留capacity()不变,不会释放底层内存。rbegin()与rend()begin()与end()

2025-04-08 13:22:47 756

原创 快速认识STL及string类

STL(standard template library标准模板库)是C++标准库的重要组成部分,包含一系列预定义的模板类和函数,用于实现常见的数据结构和算法。

2025-03-27 09:15:41 1053

原创 模板的认识(上)

在编译器编译阶段,对于模板函数的使用,编译器需要根据传入的实参类型来推演生成对应类型的函数以供调用。比如:当用double类型使用函数模板时,编译器通过对实参类型的推演,将T确定为double类型,然后产生一份专门处理double类型的代码。C++模板是C++中一个重要的特性,用于实现泛型编程,允许编写与数据类型无关的代码。在使用时被参数化,根据实参类型产生函数的特定类型版本。使用不同类型的参数使用函数模板时,称为函数模板的实例化。类模板是一个通用类,可以用于创建不同数据类型的类实例。

2025-03-23 16:38:24 1292

原创 C++——类和对象的基本认识下

将const修饰的“成员函数”称之为const成员函数,const修饰类成员函数,实际修饰该成员函数隐含的this指针,表明在该成员函数中不能对类的任何成员进行修改。构造函数初始化列表是C++中用于初始化类的成员变量的一种方式,它在创建对象时直接对成员变量进行初始化,而不是先默认构造再赋值,这样可以提高效率,尤其在处理一些不能被赋值的成员(如const成员、引用成员等)时是必须的。在 C++ 中,友元(Friend)是一种允许一个类的成员函数或另一个类访问另一个类的私有或保护成员的机制。

2025-03-17 17:27:41 937

原创 C++——类和对象的基本认识中

析构的顺序按照构造的相反顺序析构,只需注意static改变对象的生存作用域之后,会放在局部对象之后进行析构。:默认的拷贝构造函数执行的是浅拷贝,即逐位复制对象的内存内容。对于包含指针等动态资源的成员变量,浅拷贝会导致新旧对象的指针指向相同的内存地址,这可能导致资源管理问题,如重复释放内存等。深拷贝:深拷贝是指在拷贝对象时,为新对象分配独立的内存资源,并复制原对象的数据到新内存中。拷贝构造函数是C++中用于初始化类的新对象的一个特殊构造函数,它以同类型的另一个对象为参数,用于复制对象的成员变量。

2025-03-16 13:40:15 787

原创 C++——类和对象的基本认识上

/ 类体:由成员函数和成员变量组成// 一定要注意后面的分号class为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。1、声明和定义全部放在类体中,需注意:成员函数如果在类中定义,编译器可能会将其当成内联函数处理。fill:#333;color:#333;color:#333;fill:none;类的访问限定符public公有protected保护。

2025-03-15 20:59:03 847

原创 CPP——入门基本概念与语法

因此auto并非是一种“类型”的声明,而是一个类型声明时的“占位符”,编译器在编译期会将auto替换为变量实际的类型。接返回,而是传递实参或者返回变量的一份临时的拷贝,因此用值作为参数或者返回值类型,效率是非常低下的,尤其是当参数或者返回值类型非常大时,效率就更低。以inline修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方展开,没有函数调用建立栈帧的开销,内联函数提升程序运行的效率。在以上代码中,如果count函数结束,栈帧销毁,没有清理栈帧,ret的值侥幸正确;3、参数类型顺序不同。

2025-03-01 20:35:08 1460

原创 数据结构——栈和队列详解

后进先出就像吃甜筒一样,先放进去的在底下,后放进去的在上面,先吃上面的,再吃下面的;当然,我们也可以放一点吃一点,这样也可以达到先进先出的效果,在数据结构中也是如此。栈是一种特殊的线性表,遵循着后进先出的原则(Last In First Out ),只允许在数据的一端进行数据的插入与删除,这一端称为栈顶。栈顶(top) :线性表允许进行插入与删除的一端,即栈中最后一个被插入元素的位置。队头(Front):队列第一个元素所在位置,允许删除的一端。队尾(Rear):队列最后一个元素所在位置,允许插入的一段。

2025-02-25 18:16:57 1229

原创 数据结构——树、二叉树、堆

所有非叶子节点都有两个子节点,并且所有的叶子节点都在同一层的二叉树。满二叉树具有最大的节点数和最紧凑的结构。二叉树是一种特殊的树形数据结构,每个节点最多有两个子节点,通常被称为左子节点和右子节点。除最后一层外,每一层都被完全填满,并且最后一层的节点是连续的。

2025-02-24 09:45:23 1081

原创 C语言关于文件的操作

文件是计算机系统中用于存储数据、信息或程序的一种逻辑结构。它是存储在存储介质(如硬盘、固态硬盘、光盘等)上的数据集合,通常以一定的格式组织和存储。但是在程序设计中,我们一般套润两种文件:程序文件、数据文件。

2025-02-12 22:59:36 706

原创 数据结构 单链表详解

单链表是由一系列节点组成的线性序列,每个节点包含两个部分,一个是存储数据元素的数据域,另一个是指向下一个节点的指针域。最后一个节点的指针域为空(通常用NULL表示),表示链表的结束。

2025-01-21 22:18:12 925

原创 数据结构 线性表之(顺序存储)

线性表是由n个任意类型的数据元素组成的有限序列。

2025-01-16 15:02:29 1006 1

空空如也

空空如也

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

TA关注的人

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