
C++基础学习
文章平均质量分 80
奕天者
人生而有涯,而知也无涯。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++学习笔记(四十二)——STL之堆操作算法
STL 提供了一些堆操作算法,主要用于堆数据结构的管理和操作。堆是一种完全二叉树,满足每个父节点的值大于或等于(或小于或等于)其子节点的性质,常用来实现优先队列。STL 中的堆操作函数位于 <algorithm> 头文件中,支持最大堆和最小堆的操作。原创 2025-04-28 10:14:23 · 617 阅读 · 0 评论 -
C++学习笔记(四十一)——STL之合并与排列组合算法
STL 中的合并算法(Merge Algorithms)用于将两个有序的序列(通常是容器中的元素)合并成一个新的有序序列。除此之外,STL还提供了一些用于生成排列和组合的算法,主要用于在容器中生成元素的排列或组合。原创 2025-04-27 10:27:19 · 1097 阅读 · 0 评论 -
C++学习笔记(四十)——STL之归约算法
STL 中的归约算法(Reduction Algorithms)主要用于从一个容器或范围中计算一个单一的结果,例如对所有元素进行累加、求最小值、求最大值等。归约算法常见的包括 accumulate、inner_product、partial_sum等,它们通常涉及到对容器中元素的聚合、计算或比较。原创 2025-04-26 20:28:32 · 990 阅读 · 0 评论 -
C++学习笔记(三十九)——STL之删除算法
STL 删除算法是 C++ 标准库中的一类算法,它们用于从容器中删除元素。常用的删除算法包括 remove、remove_if、unique等。删除算法广泛应用于容器中元素的移除、重复元素的去重等操作。原创 2025-04-25 09:57:44 · 933 阅读 · 0 评论 -
C++学习笔记(三十八)——STL之修改算法
在 C++ 标准库(STL)中,修改算法可以在容器中应用特定的操作,如修改元素的值、替换值、插入新元素等。修改算法通常返回容器的迭代器,指示修改的位置或结果。原创 2025-04-24 09:43:17 · 811 阅读 · 0 评论 -
C++学习笔记(三十七)——STL之搜索算法
在 C++的STL中,提供了一些用于搜索容器中元素的算法,位于 <algorithm> 头文件中。常见的搜索算法包括 find、binary_search、find_if 等。原创 2025-04-23 09:46:55 · 789 阅读 · 0 评论 -
C++学习笔记(三十六)——STL之排序算法
STL 提供了一些常用的排序算法,用于对容器中的元素进行排序。它们位于 <algorithm> 头文件中。原创 2025-04-22 20:13:01 · 1235 阅读 · 0 评论 -
C++学习笔记(三十五)——STL之仿函数
仿函数(Functor,Function Object)是重载operator()的类或结构体对象,它的行为类似于函数,可以像普通函数一样被调用。原创 2025-04-03 10:20:07 · 462 阅读 · 0 评论 -
C++学习笔记(三十四)——hashtable(哈希表)
哈希表(Hash Table)是一种基于哈希函数的键值映射数据结构,它能在O(1) 的均摊时间复杂度内完成查找、插入和删除操作。原创 2025-04-02 10:26:28 · 296 阅读 · 0 评论 -
C++学习笔记(三十三)——forward_list
std::forward_list 是 C++的STL中的单向链表(Singly Linked List),它相比 std::list(双向链表)更轻量,适用于仅需要单向遍历的场景。原创 2025-04-01 21:34:02 · 627 阅读 · 0 评论 -
C++学习笔记(三十二)——priority_queue
std::priority_queue是 C++的STL 提供的优先级队列(Priority Queue),本质上是基于堆(Heap)实现的一个容器适配器。原创 2025-04-01 20:14:08 · 842 阅读 · 0 评论 -
C++学习笔记(三十一)——map
std::map是 C++的STL(标准模板库)中的关联容器(Associative Container),底层基于红黑树(Red-Black Tree)实现,支持键值对存储,键自动排序,并提供高效的查找、插入和删除操作。原创 2025-03-31 11:39:31 · 619 阅读 · 0 评论 -
C++学习笔记(三十)——set
std::set 是 C++的STL(标准模板库)中的关联容器(Associative Container),底层基于红黑树(Red-Black Tree)实现,保证自动排序和唯一性。原创 2025-03-28 10:56:16 · 785 阅读 · 0 评论 -
C++学习笔记(二十九)——list
std::list是 C++的STL(标准模板库)中的双向链表容器,支持高效的插入、删除操作,适用于频繁在容器中间插入或删除元素的场景。原创 2025-03-27 11:03:43 · 524 阅读 · 0 评论 -
C++学习笔记(二十八)——queue
std::queue是 C++的STL(标准模板库)中的容器适配器,遵循先进先出(FIFO, First In First Out)原则,适用于排队处理任务、广度优先搜索(BFS)、进程调度==等场景。原创 2025-03-26 10:12:23 · 525 阅读 · 0 评论 -
C++学习笔记(二十七)——stack
std::stack是 C++ 的STL(标准模板库)中的容器适配器,遵循后进先出(LIFO, Last In First Out)原则,适用于需要按顺序存取数据的场景,如递归调用、括号匹配、深度优先搜索(DFS) 等。原创 2025-03-25 11:37:34 · 507 阅读 · 0 评论 -
C++学习笔记(二十六)——deque
std::deque(双端队列,double-ended queue)是 C++ STL(标准模板库)中的序列容器,类似于 std::vector,但支持在两端高效地插入和删除元素。原创 2025-03-24 21:06:15 · 498 阅读 · 0 评论 -
C++学习笔记(二十五)——vector
std::vector是 C++ 标准模板库(STL)中的动态数组,它的大小可以动态增长或缩小,并且提供了自动内存管理和丰富的操作函数。原创 2025-03-21 10:30:19 · 759 阅读 · 0 评论 -
C++学习笔记(二十四)——string
std::string是 C++ 标准库中的字符串类,用于存储和操作文本字符串。 它相比 char*(C 风格字符串)提供了更安全、灵活和高效的字符串操作方式。原创 2025-03-20 11:49:51 · 414 阅读 · 0 评论 -
C++学习笔记(二十三)——STL标准库
STL(标准模板库)是C++ 标准库的重要组成部分,提供了通用的数据结构和算法,使 C++ 具备高效、泛型、可复用的编程能力。原创 2025-03-19 16:30:53 · 928 阅读 · 0 评论 -
C++学习笔记(二十二)——模板
模板(Template)是 C++ 提供的泛型编程(Generic Programming)机制,允许在编译时创建通用代码,适用于不同的数据类型。模板分为两种:1. 函数模板(Function Template)—— 泛型函数2. 类模板(Class Template)—— 泛型类原创 2025-03-18 10:20:35 · 530 阅读 · 0 评论 -
C++学习笔记(二十一)——文件读写
文件读写指的是将数据从程序存储到文件,或从文件读取数据,以实现数据的持久化存储。 C++ 提供了 fstream头文件,用于文件操作,主要包括:ofstream(输出文件流)—— 向文件写入数据ifstream(输入文件流)—— 从文件读取数据fstream(文件流)—— 同时支持读写原创 2025-03-17 17:07:51 · 1287 阅读 · 0 评论 -
C++学习笔记(二十)——类之运算符重载
运算符重载(Operator Overloading) 允许我们为自定义类赋予运算符(+ - * / == != [] ()等)的特殊功能,使其像内置数据类型一样操作对象。原创 2025-03-14 11:17:35 · 1086 阅读 · 0 评论 -
C++学习笔记(十九)——类之多态
多态(Polymorphism)是面向对象编程(OOP)的核心特性之一,它允许同一接口表现出不同的行为。多态可以分为:1. 编译时多态(静态多态): 通过函数重载和运算符重载实现(在编译阶段确定调用哪个函数)。2. 运行时多态(动态多态):通过虚函数(virtual)和基类指针/引用实现(在运行时确定调用哪个函数)。原创 2025-03-13 10:39:37 · 752 阅读 · 0 评论 -
C++学习笔记(十八)——类之继承
继承(Inheritance) 是面向对象编程(OOP)的核心特性之一,允许一个类(子类)从另一个类(基类)派生,并继承基类的属性和行为。 继承的主要目的是代码复用,同时支持扩展和修改已有功能,提高程序的可维护性。原创 2025-03-12 09:54:02 · 460 阅读 · 0 评论 -
C++学习笔记(十七)——类之封装
封装(Encapsulation) 是面向对象编程(OOP)的核心特性之一,指的是把数据和操作数据的函数绑定在一起,并隐藏内部实现细节,防止外部代码直接访问对象的内部数据。原创 2025-03-11 20:49:38 · 496 阅读 · 0 评论 -
C++学习笔记(十六)——函数重载
函数重载(Function Overloading)是 C++ 允许多个同名函数 但参数不同的一种特性。 通过参数的类型、个数或顺序区分不同的函数。编译器会根据调用时提供的参数自动选择合适的函数。原创 2025-03-10 21:39:14 · 617 阅读 · 0 评论 -
C++学习笔记(十五)——引用
引用(Reference)是 C++ 中的一种变量别名机制,它允许一个变量拥有多个名称。 引用提供了一种安全、简洁的方式来访问变量,而无需使用指针。 特点:引用本质上是变量的别名,必须在定义时初始化。引用和原变量共享同一内存地址,对引用的修改直接作用于原变量。不能更改引用的绑定对象,引用一旦绑定,就不能重新指向其他变量。原创 2025-03-07 10:08:54 · 350 阅读 · 0 评论 -
C++学习笔记(十四)——分区存储
程序运行时内存的不同区域,不同的数据类型会存储在不同的存储区。代码区(Code),存储函数代码;全局/静态区(Data) ,存储全局变量 & 静态变量;堆区(Heap),动态分配的对象,需手动释放;栈区(Stack), 存储局部变量 & 函数参数。原创 2025-03-06 17:32:56 · 638 阅读 · 0 评论 -
C++学习笔记(十三)——指针
指针(Pointer)是 C++ 中的一种特殊变量,它存储的是另一个变量的内存地址,而不是具体的值。 指针有以下作用:直接操作内存地址,提高效率。动态内存分配,如 new 和 delete。数组与字符串的操作,如遍历数组。函数参数传递,提高性能,避免数据拷贝。实现数据结构,如链表、树等。原创 2025-03-05 20:35:07 · 686 阅读 · 0 评论 -
C++学习笔记(十二)——函数
函数是C++ 代码模块化的基础。函数有以下作用:提高代码复用性:相同的代码块可多次调用,而不必重复编写。增强程序可读性:将逻辑拆分,使代码结构更清晰。便于调试和维护:修改函数不会影响其他部分,降低错误风险。原创 2025-03-04 20:13:21 · 762 阅读 · 0 评论 -
C++学习笔记(十一)——循环结构
循环结构用于重复执行某一代码块,直到满足特定条件后退出循环。C++ 提供了以下三种循环结构:for 循环(确定次数的循环);while 循环(条件控制的循环);do-while 循环(至少执行一次的循环)。此外,C++ 还提供了 break和 continue 语句来控制循环流程。原创 2025-03-03 17:20:27 · 431 阅读 · 0 评论 -
C++学习笔记(十)——条件分支结构
条件分支结构用于控制程序的执行流程,根据特定条件决定执行不同的代码块。C++ 提供了以下五种条件分支结构:- if 语句(单分支结构)- if-else 语句(双分支结构)- if-else if-else 语句(多分支结构)- switch 语句(多分支选择结构)- 三元运算符 ?:(简化条件判断)原创 2025-02-28 20:26:42 · 555 阅读 · 0 评论 -
C++学习笔记(九)——运算符
C++ 提供了丰富的运算符用于执行各种操作,包括数学计算、逻辑判断、位运算、内存管理等。原创 2025-02-26 20:49:40 · 377 阅读 · 0 评论 -
C++学习笔记(八)——用户自定义类型
struct(结构体)是一种用户自定义的数据类型,用于组合多个变量(成员变量)成一个单独的实体。union(联合体)是一种特殊的数据结构,与 struct 类似,但它的所有成员共享相同的内存空间。类(class)是面向对象编程(OOP)中的核心概念。原创 2025-02-25 11:31:54 · 387 阅读 · 0 评论 -
C++学习笔记(七)——枚举类型和void类型
在 C++ 中,枚举有两种类型:传统枚举(enum),强类型枚举(enum class)。void 是 C++ 中的一种特殊类型,表示 “无类型” 。 可用于:函数的返回类型(表示函数不返回任何值);指向未知类型的指针(void*);占位符(用于泛型编程或空参数列表)。原创 2025-02-24 19:15:03 · 438 阅读 · 0 评论 -
C++学习笔记(六)——浮点型
在 C++ 中,float 是单精度浮点数类型,可以表示小数、整数和科学计数法的数值。与 double 相比,float 的精度较低,但占用内存较小,运算速度较快。double 是双精度浮点数类型。long double 是扩展精度的浮点数类型,用于表示精度更高、范围更广的实数原创 2025-02-20 11:34:17 · 1321 阅读 · 0 评论 -
C++学习笔记(五)——整型
在C++中,char(字符型)和bool(布尔型)本质上也属于整数类型。在C++中,与 unsigned 相对,signed是有符号整数类型的修饰符,用于表示正数、负数和零,适用于需要表示负数或正负变化的场景。原创 2025-02-19 20:54:36 · 810 阅读 · 0 评论 -
C++学习笔记(四)——关键字之类、模板与异常处理等
标准C++关键字——参考Visual Studio2022中C++的概述。关键字(三)——类、模板与异常处理等。原创 2024-12-06 17:40:17 · 801 阅读 · 0 评论 -
C++学习笔记(三)——关键字之循环、条件与逻辑运算等
标准C++关键字——参考Visual Studio2022中C++的概述。关键字(二)——循环、条件与逻辑运算等原创 2024-12-05 17:17:36 · 1086 阅读 · 0 评论