C++
文章平均质量分 91
我们克服万难
字节连结
这个作者很懒,什么都没留下…
展开
-
【C++】两万字!2025 秋招超实用复习指南 - 持续更新
回归知识本身,是一名优秀程序员最基本的自我修养原创 2024-08-16 17:35:17 · 1004 阅读 · 0 评论 -
【C++】智能指针
C++中的智能指针是一种用于管理动态分配的内存的机制,它们可以自动地处理内存的分配和释放,从而减少内存泄漏的风险。智能指针提供了一种安全而方便的方式来管理动态分配的内存,而不需要手动调用 new 和 delete 操作符。原创 2024-05-12 16:37:43 · 2656 阅读 · 72 评论 -
【C++】异常
C++ 中的异常处理机制允许程序员处理和管理在程序执行期间发生的异常情况。C++ 使用 try、catch 和 throw 关键字来实现异常处理。原创 2024-05-10 18:16:00 · 2514 阅读 · 52 评论 -
【C++】包装器
function 包装器 也叫做适配器。C++ 中的 function 本质是一个类模板,也是一个包装器。原创 2024-05-01 17:51:08 · 886 阅读 · 56 评论 -
【C++】lambda 表达式
如果同学们学过其他编程语言(如:Java、python),对 lambda 表达式应该不陌生。lambda 表达式最大的作用就是把一个简单的 类/函数 变为一条语句,可以减少代码量,对程序员友好。本文将对 C++ 中 lambda 表达式的语法进行学习,并简单理解 lambda 表达式的底层。原创 2024-04-30 08:54:35 · 791 阅读 · 37 评论 -
【C++】布隆过滤器
将哈希与位图结合,即布隆过滤器!原创 2024-04-27 16:05:10 · 931 阅读 · 47 评论 -
【C++】位图
所谓位图,就是用每一位来存放某种状态,适用于海量数据,数据无重复的场景。通常是用来判断某个数据存不存在的。原创 2024-04-26 17:44:59 · 567 阅读 · 36 评论 -
【C++】unordered_map & unordered_set 底层刨析
C++ STL 库中,unordered_map 和 unordered_set 容器的底层为哈希表,本文将简单模拟哈希表(哈希桶),unordered_map 和 unordered_set 只需封装哈希表的接口即可实现。原创 2024-04-15 17:11:06 · 1514 阅读 · 74 评论 -
【C++】unordered 系列关联式容器
在内部,unordered_map 没有对 按照任何特定的顺序排序,为了能在常数范围内找到 key 所对应的 value,unordered_map 将相同哈希值的键值对放在相同的桶中。原创 2024-04-09 18:12:43 · 1528 阅读 · 72 评论 -
【C++】map & set 底层刨析
在 C++ STL 库中,map 与 set 的底层为红黑树,那么在不写冗余代码的情况下使用红黑树同时实现 map 与 set 便是本文的重点。原创 2024-04-06 20:11:55 · 1633 阅读 · 65 评论 -
【C++】map & set
关联式容器也是用来存储数据的,与序列式容器不同的是,其里面存储的是 结构的键值对,在数据检索时比序列式容器效率更高。原创 2024-03-29 19:32:14 · 1589 阅读 · 80 评论 -
【C++】多态
通俗来说,多态就是多种形态,在完成某个行为时,不同的对象会产生多种不同的状态。我们常用的手机支付,在扫描同一个二维码后,可以选择多种方式进行支付,这就是一种多态。原创 2024-03-06 20:48:26 · 1549 阅读 · 76 评论 -
【C++】继承
继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能,这样产生新的类,称派生类。原创 2024-02-22 16:57:52 · 1683 阅读 · 76 评论 -
【C++】vector
vector是表示可变大小数组的序列容器。原创 2024-01-06 20:20:01 · 1998 阅读 · 78 评论 -
【C++】模拟实现string类
C/C++是注重效率的语言,我们从底层实现中可以看出哪些函数效率高、哪些函数底层是一样的、哪些函数在库中实现的不好,根据这些知识可以让我们写出效率更高的代码。原创 2024-01-05 14:55:07 · 659 阅读 · 61 评论 -
【C++】浅拷贝 / 深拷贝 / 写时拷贝
如果一个类中涉及到资源的管理,其拷贝构造函数,赋值运算符重载以及析构函数必须要显式给出。一般情况都是按照深拷贝方式提供。原创 2024-01-02 12:18:20 · 1984 阅读 · 93 评论 -
【C++】string
在OJ中,有关字符串的题目基本以string类的形式出现,而且在常规工作中,为了简单、方便、快捷,基本都使用string类,很少有人去使用C库中的字符串操作函数。原创 2023-12-25 21:11:33 · 5391 阅读 · 96 评论 -
【C++】初识模板
泛型编程:编写与类型无关的通用代码,是代码复用的一种手段。模板是泛型编程的基础。原创 2023-12-21 20:24:20 · 3588 阅读 · 83 评论 -
【C++】内存管理
int main()// new/delete 和 malloc/free 最大区别是:// new/delete对于【自定义类型】除了开空间还会调用构造函数和析构函数free(p1);delete p2;// 内置类型是几乎是一样的// Cfree(p3);delete p4;free(p5);return 0;原创 2023-12-19 12:22:45 · 2514 阅读 · 84 评论 -
【C++】类与对象(下)
的。原创 2023-12-12 14:52:18 · 2477 阅读 · 88 评论 -
【C++】类与对象(中)
默认的拷贝构造函数对象按内存存储按字节序完成拷贝,这种拷贝叫做浅拷贝,或者值拷贝。原创 2023-12-03 22:44:16 · 2575 阅读 · 107 评论 -
【C++】类与对象(上)
/ 类体:由成员函数和成员变量组成// 一定要注意后面的分号class为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。1. 声明和定义全部放在类体中,需注意:成员函数如果在类中定义,编译器可能会将其当成内联函数处理。一般情况下,更期望采用第二种方式。注意:上课为了方便演示使用方式一定义类,大家后序工作中尽量使用第二种。原创 2023-11-19 00:44:33 · 1228 阅读 · 140 评论 -
【C++】main开始的地方
定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。// tjq是命名空间的名字,一般开发中是用项目名字做命名空间名。// 1. 正常的命名空间定义// 命名空间中可以定义变量/函数/类型int val;//2. 命名空间可以嵌套int a;int b;int c;int d;//3. 同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中。原创 2023-11-01 11:51:18 · 1895 阅读 · 141 评论