C++笔记
文章平均质量分 60
记录力扣、牛客或者其他oj上刷题的记录
刚刚觉醒的小菜鸡
这个作者很懒,什么都没留下…
展开
-
STL——常用算法
STL——常用算法原创 2024-05-10 23:40:03 · 504 阅读 · 0 评论 -
STL——函数对象和谓词
函数对象概念重载函数调用操作符()的类,其对象常被称为仿函数函数对象使用重载的()时,行为类似函数调用,也叫做仿函数本质上仿函数是一个类,并不是一个函数函数对象使用函数对象在使用时,可以像普通函数一样调用,可以有参数,可以有返回值函数对象超出普通函数的概念,函数对象可以有自己的状态(例如被使用了多少次)函数对象可以作为参数传递原创 2024-05-08 20:05:23 · 373 阅读 · 0 评论 -
STL——map/unordered_map
pair对组创建:pair p(value1,value2);pair p = make_pair(value1,value2);原创 2024-05-04 20:02:29 · 437 阅读 · 0 评论 -
STL——set与unordered_set
set和unorded_set都是只读的,因为是基于排序的容器,直接更改元素会破坏其内部结构。如果直接存储对象,那么默认都是拷贝语义,STL容器中的数据更改是不会影响到原数据的原创 2024-05-03 20:25:56 · 331 阅读 · 0 评论 -
STL——list
list将数据进行链式存储list是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的是一种双向链表的容器,用于存储和管理元素的集合,原创 2024-04-30 23:31:45 · 1016 阅读 · 0 评论 -
STL——stack&queue
STL——stack&queue原创 2024-04-30 23:29:24 · 341 阅读 · 0 评论 -
STL——deque
双端队列,可以对头端进行插入删除操作原创 2024-04-28 20:11:13 · 1156 阅读 · 0 评论 -
C++STL——string
string是C++风格的字符串,本质上是一个类char* 是一个指针string是一个类,类内部封装了char*,管理这个字符串,是一个 char*型的容器。原创 2024-04-25 17:47:56 · 919 阅读 · 0 评论 -
C++STL —— vector
vector容器--一个动态数组,可以存储任意类型的元素,并有一系列方便的操作函数与普通数组区别:数组是静态空间,而vector可以动态拓展。原创 2024-04-25 17:46:54 · 981 阅读 · 0 评论 -
STL初探
STL从广义上分为:容器(container) 、算法(algorithm)、迭代器(iterator)容器和算法之间通过迭代器进行无缝连接STL几乎所有代码都采用了模板类或者模板函数原创 2024-04-24 14:22:45 · 446 阅读 · 0 评论 -
C++类模板
C++中的类模板是一种通用的类定义,它可以用于创建可以适应不同类型的对象。类模板是一种参数化的类,它可以根据不同的模板参数创建多个具体的类。类模板的定义包含一个或多个模板参数,这些参数可以用于指定类中的类型、常量或其他模板参数。在使用类模板时,我们需要提供实际的模板参数,这些参数将用于实例化具体的类。原创 2024-04-22 20:44:49 · 344 阅读 · 0 评论 -
C++函数模板
函数模板是一种允许定义通用函数的机制,使用函数模板,该函数可以在多种类型的参数上进行操作,而不仅仅限于特定的数据类型。通过参数化类型,函数模板可以自动为不同的类型生成相应的函数代码。原创 2024-04-22 19:07:52 · 339 阅读 · 0 评论 -
C++多态
多态是面向对象编程的一个重要概念,它允许使用基类的指针或引用来调用派生类的方法,这样做的好处是可以在编译时不知道具体对象类型的情况下进行编程,提高代码的灵活性和扩展性。原创 2024-04-19 11:14:22 · 439 阅读 · 0 评论 -
C++继承
C++继承是面向对象编程中的一种重要概念,它允许一个类(子类)从另一个类(父类)继承属性和行为,通过继承,子类可以重用父类的代码,并添加自己的特定功能。原创 2024-04-19 11:12:26 · 420 阅读 · 0 评论 -
C++运算符重载
在C++中,运算符重载是一种允许开发者重新定义已有运算符的行为的特性,通过运算符重载可以为自定义的类类型或者枚举类型定义运算符的操作。原创 2024-04-18 23:07:45 · 330 阅读 · 0 评论 -
C++友元
当一个类在其内部将其他类或者函数声明为友元(friend),这些友元就可以访问该类的私有成员和保护乘员,即使它们不是该类的成员。友元关系在C++中提供了一种特殊的访问权限,可以在需要时共享类的私有信息。原创 2024-04-18 23:06:24 · 118 阅读 · 0 评论 -
C++对象模型和this指针
成员变量和成员函数分开存储在C++中,类内的成员变量和成员函数分开存储,只有非静态成员变量才属于类的对象,其余都存储在类中当创建一个类的对象时,会为对象分配一块内存空间,用于存储成员变量。每个对象都有自己的成员变量副本,这些变量存储在对象的内存空间中,并且在对象的声明周期中保持存在(这里的成员变量为非静态成员变量)。成员函数是类的一部分,它们并不存储在对象的内存空间中,而是存储在类的代码段中原创 2024-04-17 17:22:57 · 396 阅读 · 0 评论 -
C++静态成员
静态成员是就是在成员变量和成员函数前加上关键字static,称为静态变量静态变量分为:静态成员变量所有对象共享一份数据在编译阶段分配内存类内声明,类外初始化静态成员函数所有对象共享一个函数静态成员函数只能访问静态成员变量原创 2024-04-17 13:53:04 · 181 阅读 · 0 评论 -
C++浅拷贝和深拷贝
浅拷贝指的是简单地将一个对象的值复制给另一个对象,包括对象的所有成员变量,这意味着两个对象将共存相同的内存地址,对其中一个对象的修改会影响到另一个对象。浅拷贝默认通过复制构造函数和赋值操作符完成。相比之下,深拷贝会创建一个新的对象,并赋值对象中的所有成员变量,包括对动态分配内存的指针的复制,这样每个对象都有自己的独立内存空间,深拷贝需要自定义复制构造函数和赋值操作符重载。原创 2024-04-17 13:49:50 · 217 阅读 · 2 评论 -
类与对象封装
类是自定义的数据类型,定义了一组属性(数据成员)和方法(成员函数),用来描述具有相似特征和行为的对象,类是对象的抽象,类的实例被称为对象,对象是类的具体实体,可以在程序中使用和操作,通过创建对象,可以访问类中定义的属性和调用类中定义的的方法。原创 2024-04-16 20:08:08 · 294 阅读 · 0 评论 -
函数参数及函数重载
函数重载与函数参数原创 2024-04-16 19:10:09 · 254 阅读 · 0 评论 -
C++引用
C++的引用本质就是对已经存在的对象的别名,引用提供了一种方便的方式来操作对象,而不需要复制对象本身。引用在编译器层面实现,通常用指针来实现引用。而且是指针常量,也就意味着该指针的指向是不能变的。原创 2024-04-16 16:57:15 · 214 阅读 · 0 评论 -
C++内存分区模型
c++程序在执行时会将内存划分为四个区域,分别是代码区,全局区,栈区和堆区。原创 2024-04-15 21:22:03 · 1018 阅读 · 0 评论 -
const修饰指针
常量指针和指针常量很容易搞混,不过其实你根据意思来记就比较容易常量 ————> 视作const指针 ————>视作*那么常量指针就其实是const + 类型* + 变量名,这里暂定为p然后const固定了* p,那么 *p就变不了了,也就是p指向的变量值不能改变反过来,指针常量就是类型*+const+变量名,这里暂定为p然后const固定了p,那么p就变不了了,也就是p的指向不能变了原创 2024-04-14 18:47:45 · 210 阅读 · 0 评论 -
空指针与野指针的辨析
空指针不指向任何实际的对象或者函数;野指针并不是空指针,而是一个指向垃圾内存的指针。原创 2024-04-14 17:19:22 · 206 阅读 · 0 评论