C++
文章平均质量分 92
用于记录C++ 的学习笔记
sunny-ll
一个从零开始学习编程的小白菜
展开
-
【C++】RAll--C++ 中最厉害的编程范式(小白一看就懂!!)
RAII(Resource Acquisition Is Initialization,资源获取即初始化)是一种在 C++ 中常见的编程范式,主要用于管理资源(如动态内存、文件句柄、网络连接等)。其核心思想是将资源的生命周期绑定到对象的生命周期,通过对象的构造函数来获取资源,通过对象的析构函数来释放资源。这种方式避免了显式的资源管理,减少了资源泄漏的可能性。原创 2024-10-07 11:36:44 · 929 阅读 · 5 评论 -
【C++】多线程编程图文详解(多角度详解,小白一看就懂!!)
关于 多线程 相关操作,Linux 选择使用的是 POSIX 标准,而 Windows 没有选择 POSIX 标准,反而是自己搞了一套 API 和系统调用,称为 Win32 API,意味着 Linux 与 Windows 存在标准差异,直接导致能在 Linux 中运行的程序未必能在 Windows 中运行原创 2024-10-07 10:43:30 · 2715 阅读 · 0 评论 -
【C/C++】 秋招常考面试题最全总结(让你有一种相见恨晚的感觉)
C/C++ 秋招面试题最全总结原创 2024-09-30 22:07:34 · 1292 阅读 · 0 评论 -
【C++】深度解析C++的四种强制转换类型(小白一看就懂!!)
在之前我们学过,变量的数据类型可以强制转换为其他数据类型。但由于这种C风格的类型转换可能会出现一些问题,即过于松散的情况,因此C++提出了更加规范、严格的类型转换,添加了四个类型转换运算符,进而更好的控制类型转换过程。原创 2024-09-12 11:21:11 · 5171 阅读 · 3 评论 -
【C++】unordered_map 容器的最全解析(什么是unordered_map?unordered_map的常用接口有那些?)
【unordered_map】是STL中的容器之一,不同于普通容器,它的查找速度极快,常用来存储各种经常被检索的数据,因为容器的底层是【哈希表】。除此之外,还可以借助其特殊的性质,解决部分难题。原创 2024-09-09 10:12:46 · 6318 阅读 · 2 评论 -
【C++】手把手教你看懂的 STL map 详解(超详细解析,小白一看就懂!!)
【map】是STL中的容器之一,不同于普通容器,它的查找速度极快,常用来存储各种经常被检索的数据,因为容器的底层是【红黑树】。除此之外,还可以借助其特殊的性质,解决部分难题。原创 2024-09-08 17:17:02 · 2104 阅读 · 0 评论 -
【C++】unordered_set 容器的最全解析(什么是unordered_set?unordered_set的常用接口有那些?)
【unordered_set】是STL中的容器之一,不同于普通容器,它的查找速度极快,常用来存储各种经常被检索的数据,因为容器的底层是【哈希表】。除此之外,还可以借助其特殊的性质,解决部分难题。原创 2024-08-31 17:18:08 · 3971 阅读 · 2 评论 -
【C++】深度解析--单例模式(面试常考,小白一看就懂!!)
【单例模式】相信大家都有所听闻,甚至也写过不少了,在面试中也是考得最多的其中一个设计模式,面试官常常会要求写出两种类型的单例模式并且解释其原理,废话不多说,我们开始学习如何很好地回答这一道面试题吧。原创 2024-08-30 09:38:44 · 2117 阅读 · 0 评论 -
【C++】set 容器最全解析(什么是 set? set容器的常用接口有那些?)
set是STL中的容器之一,不同于普通容器,它的查找速度极快,常用来存储各种经常被检索的数据,因为容器的底层是平衡二叉搜索树中的红黑树。除此之外,还可以借助其特殊的性质,解决部分难题原创 2024-08-28 11:29:30 · 1285 阅读 · 0 评论 -
【C++】一文搞定哈希表(详细解析,小白一看就懂!!)
哈希(Hash)是一个广泛的概念,其中包括哈希表、哈希冲突、哈希函数等,核心为 元素(键值) 与 存储位置(哈希值) 之间的映射关系,哈希值 可以通过各种哈希函数进行计算,需要尽量确保 “唯一性”,避免冲突,除此之外,哈希函数还可用于 区块链 中,计算 区块头(Head)中的信息,本文将带你认识哈希,学习其中的各种知识原创 2024-08-27 11:21:35 · 2679 阅读 · 1 评论 -
【C++11】右值引用的深度解析(什么是右值引用?它有什么作用?能应用在那些场景?)
右值引用,一个在C++11中闪耀登场的革命性特性,它不仅仅是一个语言的扩展,更是对资源管理哲学的一次深刻反思。它允许我们以一种前所未有的方式,对临时对象进行资源的“移动”,而不是简单的“复制”。原创 2024-08-16 15:23:59 · 2250 阅读 · 22 评论 -
【C++】一文搞懂JSON序列化和反序列(让你有一种相见恨晚的感觉!!)
在现代软件开发中,JSON(JavaScript Object Notation)已经成为数据交换的标准格式之一。无论是在前后端通信、API 数据传输,还是在配置文件管理中,JSON 的简洁性和可读性使其广泛应用。然而,处理 JSON 数据的关键在于序列化和反序列化——将数据结构转换为 JSON 格式,以及将 JSON 格式解析回数据结构。这篇博客将深入探讨 JSON 序列化和反序列化的概念,并通过实例展示如何在 C++ 中高效地处理 JSON 数据。原创 2024-08-10 15:17:40 · 2143 阅读 · 20 评论 -
【C++11】lambda表达式保姆级详解(深度解析,小白一看就会!!)
Lambda表达式:是C++11引入的一种函数对象,可以方便地创建匿名函数。与传统的函数不同,Lambda表达式可以在定义时直接嵌入代码,无需单独定义函数名称、参数和返回类型等信息。Lambda表达式通常用于需要定义一些简单的回调函数或者函数对象。优点:简洁、效率高、更加灵活。本文主要介绍Lambda的工作原理以及使用方法。原创 2024-08-09 20:53:55 · 3660 阅读 · 9 评论 -
【C++】内联函数深度解析(什么是内联函数?为什么要使用内联函数?)
本文介绍了C++内联函数的概念,其如何在编译时展开以提高效率,以及与宏函数的区别。内联函数适用于短小频繁调用的情况,但并非所有函数都适合。还讨论了内联函数的优缺点和是否一定能被编译器展开的问题。原创 2024-08-09 10:04:43 · 2457 阅读 · 17 评论 -
【C++综合项目】——基于Boost库的搜索引擎(手把手讲解,小白一看就会!!)
我们平时在用浏览器搜索时,服务器给我们返回的分别是跟搜索关键字相关的一个个网站信息,网站信息分别包括网站的标题,网站内容的简述,和该网站的url。在点击标题后,会跳转到对应链接的页面。平时我们用的搜索引擎,比如说百度,谷歌等等,他们都是搜索全网的信息的,我们项目做的是一个小范围的搜索引擎,一个用 boost库 实现的 boost站内搜索。原创 2024-08-08 13:14:20 · 3500 阅读 · 18 评论 -
【C++11】深度解析--异步操作(什么是异步?异步有那些操作?异步操作有什么用呢?)
如何让程序更高效、更快速一直是开发者追求的目标。【C++11】 引入的异步操作,为我们提供了一个解决这个问题的新方式。通过使用 std::async 和 std::future 等工具,我们可以轻松地处理并发任务,让程序在处理复杂操作时不再卡顿。原创 2024-08-01 14:40:48 · 1841 阅读 · 2 评论 -
【C++11】智能指针深度详解(什么是智能指针?为什么需要智能指针?如何使用智能指针?)
智能指针这个名词听着挺唬人,其实也没啥,无非就是会自动销毁new出来的对象,对于日常使用来说,还是挺方便的,毕竟C/C++可没有隔壁Java的垃圾回收机制GC,得自己清理垃圾,智能指针可以自动完成垃圾清理这个工作原创 2024-07-23 09:19:04 · 3977 阅读 · 24 评论 -
【C++11】详解--原始字符串字面量(多维度解析,小白一看就懂!!)
C++11 引入了 ----原始字符串字面量(raw string literals),这是一个增强型的字符串表示方式,用于简化处理复杂的字符串。它与普通字符串字面量的主要区别在于,原始字符串字面量可以包含反斜杠(\)和引号(")等特殊字符,而无需对它们进行转义。原创 2024-07-21 16:06:25 · 1443 阅读 · 6 评论 -
【C++】多态-最全解析(多态是什么?如何使用多态?多态的底层原理是什么?)
多态----是 面向对象 三大基本特征中的最后一个,多态可以实现 “一个接口,多种方法”,比如 父类 和 子类 中的同名方法,在增加了多态后,调用同名函数时,可以根据不同的对象(父类对象或子类对象)调用属于自己的函数,实现不同的方法,因此多态的实现依赖于继承原创 2024-07-16 16:06:48 · 2535 阅读 · 28 评论 -
【C++】继承最全解析(什么是继承?继承有什么用?)
继承是 面向对象三大特性之一(封装、继承、多态),所有的面向对象(OO)语言都具备这三个基本特征,封装相关概念已经在《类和对象》系列中介绍过了,今天主要学习的是继承,即如何在父类的基础之上,构建出各种功能更加丰富的子原创 2024-07-12 22:44:39 · 1597 阅读 · 14 评论 -
【C++】模板进阶--保姆级解析(什么是非类型模板参数?什么是模板的特化?模板的特化如何应用?)
在我们学习C++时,常会用到函数重载。而函数重载,通常会需要我们编写较为重复的代码,这就显得臃肿,且效率低下。重载的函数仅仅只是类型不同,代码的复用率比较低,只要有新类型出现时,就需要增加对应的函数。此外,代码的可维护性比较低,一个出错可能会导致所有的重载均出错。 那么,模板的出现,就让这些问题有了解决方案,在之前的文章中已经详细的讲解了C++的 -----模板初阶,所以本次博客将为大家详细的讲解C++的模板进阶!!原创 2024-07-06 21:33:00 · 1644 阅读 · 14 评论 -
【C++/STL深度剖析】priority_queue 最全解析(什么是priority_queue? priority_queue的常用接口有哪些?)
优先级队列 priority_queue 是容器适配器中的一种,常用来进行对数据进行优先级处理,比如优先级高的值在前面,这其实就是数据结构中的 堆,它俩本质上是一样东西,底层都是以数组存储的完全二叉树,不过优先级队列 priority_queue 中加入了 泛型编程 的思想,并且属于 STL 中的一部分。本就就来详细的讲解一下 priority_queue 是如何使用的!!原创 2024-07-04 14:56:48 · 3860 阅读 · 4 评论 -
【C++/STL深度剖析】stack和queue的详细概念和使用(图文详解,初学者必看!!)
最近在刷 leetcode 的时候,发现 stack和queue都还没弄明白😖,但是 STL 的强大是众所周知滴,早晚都是要解决滴,因此专门写下这篇文章,以供自己复习和各位老铁使用,快速的回忆 stack和queue 的用法,让你找回自信,不用再竞赛的时候颜面尽失。原创 2024-07-03 09:11:58 · 1681 阅读 · 6 评论 -
【C++】list 容器的增删改查---模拟实现(图例超详细解析!!!)
STL 中的 list 是一个带头双向循环链表,作为链表的终极形态,各项操作性能都很优秀,尤其是 list 中迭代器的设计更是让人拍案叫绝,如此优秀的容器究竟是如何实现的呢?本文将会带大家一起从0~1 去模拟实现STL库中的 list 容器,以便于让大家更好的巩固之前学习过的 缺省参数、封装、类的6大默认函数等。原创 2024-06-12 09:22:14 · 1611 阅读 · 9 评论 -
【C++】list 容器最全详解(什么是list? list容器的常用接口有那些?)
最近在刷 leetcode 的时候,发现 list都还没弄明白吗,但是 STL 的强大是众所周知滴,早晚都是要解决滴,因此专门写下这篇文章,以供自己复习和各位老铁使用,快速的回忆 list的用法,让你找回自信,不用再竞赛的时候颜面尽失。原创 2024-06-03 09:14:44 · 8170 阅读 · 5 评论 -
【C++】vector的迭代器失效问题(什么是迭代器失效?那些操作会导致迭代器失效?如何避免迭代器失效?)
最近我们学习了 vector类 的用法和模拟实现,同时呢也提到了C++中的迭代器失效问题,在之前的文章只是简单的提了一下,由于迭代器失效问题是非常重要的,所以特地整理出来方便后期的复习和学习。 这篇文章的要点只有三点:1.什么是迭代器失效?2.vector那些操作会导致迭代器失效?3.如何避免迭代器失效?原创 2024-05-03 14:53:31 · 3887 阅读 · 12 评论 -
【C++】vector类的增删改查模拟实现(图例超详细解析!!!)
本模块呢,我将会带大家一起从0~1去模拟实现一个STL库中的 vector类,当然模拟实现的都是一些常用的接口,以便于让大家更好的巩固之前学习过的缺省参数、封装、类中的6大默认成员函数等,代码量大概在 600行左右。原创 2024-05-02 19:03:21 · 1218 阅读 · 12 评论 -
【C++】匿名对象超详细详解(什么是匿名对象?对象可以是哪些类型呢?)
在C++中,匿名对象(Anonymous Object)是指在没有被命名的情况下创建的临时对象。它们通常用于在单个语句中执行一系列操作或调用某个函数,并且不需要将其结果存储到变量中。原创 2024-05-01 16:00:09 · 3542 阅读 · 8 评论 -
【C++】string类的增删改查模拟实现(图例超详细解析!!!)
本模块呢,我将会带大家一起从 0~1去模拟实现一个STL库中的 string类,当然模拟实现的都是一些常用的接口,以便于让大家更好的巩固之前学习过的 缺省参数、封装、类中的6大默认成员函数等,代码量大概在 600行左右。原创 2024-04-25 16:50:16 · 1792 阅读 · 17 评论 -
【C++】友元--最全解析(友元是什么?我们应该如何理解友元?友元可以应用在那些场景?)
在C++编程语言中,友元函数(Friend Function)是一种特殊的函数,具有访问类中私有成员和保护成员的权限,尽管它不是类的成员函数。友元函数的存在使得类的设计更加灵活,能够在需要时授予外部函数访问类的私有成员的能力。本文将详细介绍C++中的友元函数,包括其定义、使用场景、优缺点以及示例。原创 2024-04-22 17:39:40 · 3722 阅读 · 7 评论 -
【C++】explicit关键字详解(explicit关键字是什么? 为什么需要explicit关键字? 如何使用explicit 关键字)
在我们自己平时写 C++ 代码的时候,较少会用到 explicit关键字 。但是在C++相关的标准类库中,看到explicit关键字的频率还是很高的。既然出现的频率这么高,那么我们就来看看explicit关键字的作用到底是干什么的。原创 2024-04-16 08:55:09 · 35850 阅读 · 25 评论 -
【C++】深度解析---赋值运算符重载(小白一看就懂!!)
【C++】为了增强代码的可读性引入了赋值运算符重载,赋值运算符重载是具有特殊函数名的函数,也具有其返回值类型,函数名字以及参数列表,其返回值类型与参数列表与普通的函数类似。但是赋值运算符重载的应用细节很多和之前讲过的拷贝构造函数数有着千丝万缕的关系,所以本文就来详细的讲解一下赋值运算符重载。原创 2024-04-14 22:44:44 · 3877 阅读 · 9 评论 -
【C++】深度解析--拷贝构造函数(从0开始,详解浅拷贝到深拷贝,小白一看就懂!!!)
本次博客将继续深度的讲解拷贝构造函数。原创 2024-04-14 10:00:51 · 2705 阅读 · 10 评论 -
【C++】详解类的--封装思想(让你丝滑的从C语言过度到C++!!)
从本文开始,我们就要重新认识一下C++中的类和对象了,本文我将总结我的心得,一步步解析从C语言的结构体struct到C++的类class,真正搞懂有关C++的面向对象的三大特征之一 ——封装原创 2024-04-13 10:09:30 · 2068 阅读 · 7 评论 -
【C++】详解 Unique 函数 (小白一看就懂!!!)
经常刷算法题的朋友,肯定会经常看到题目中提到 去重这样的字眼,或者需要我们通过去重来解题,由于之前对去重了解的不太清楚,导致做题的时候总会卡住,所以收集了一些资料来详解Unique。原创 2024-04-08 21:24:10 · 12803 阅读 · 8 评论 -
【C++】详解vector二维数组的全部操作(超细图例解析!!!)
最近在刷 Leetcode 的时候,发现 vector 的二维数组操作 都还没弄明白吗,但是STL的强大是众所周知滴,早晚都是要解决滴,因此专门写下这篇文章,以供自己复习和各位老铁使用,快速的回忆vector的用法,让你找回自信,不用再竞赛的时候颜面尽失。原创 2024-04-08 10:55:35 · 33735 阅读 · 14 评论 -
【C++】 vector <string> 的超详细解析!!!
在【C++】中,vector是一个动态数组,它可以根据需要自动调整自身的大小。同样 vector 表示一个由 string 组成的 vector 。string 是一个字符序列,可以理解为文本字符串。但是在平时刷 leetcode 的时候,还是搞不清楚 vector的用法 ,所以通过查阅资料,将其记录下来。原创 2024-04-01 11:28:49 · 9217 阅读 · 21 评论 -
【C++】快速判断元音字母,让代码不在繁琐!!
大家有没有发现,我们在做算法题的时候,经常会碰到让我们判断一个字母是否为 元音字母,可是用通常的 if 条件判断 要繁琐了,于是我就在想,在 【C++】中有没有内置的函数(类似isalpha(),isdigit(),isalnum()等)能直接完成这个功能,但是函数没发现,却发现更加新颖的方法,让我们的代码更加简洁,来看一下吧!原创 2024-03-28 22:34:44 · 906 阅读 · 12 评论 -
【C++】详谈iterator迭代器 --- 左闭右开原则!!!
想必大家在做 LeetCode 算法题的时候会经常看到有使用 STL库中的iterator迭代器 来处理各种问题,由于自己对 iterator迭代器中的 左闭右开原则不是很了解,查了资料在这里记录一下。 所以本文通过收集资料将其进行总结,主要介绍如何利用 iterator迭代器中的左闭右开原则 处理在算法练习或竞赛中遇到的问题。原创 2024-03-28 11:26:54 · 1692 阅读 · 11 评论 -
【C++】详解 to_string 与 stoi 函数(整数转字符串-字符串转整数)
想必大家在做 LeetCode 算法题的时候会经常看到有使用 to_string 和 to_stoi 处理字符串,由于自己对这个类不是很了解,查了资料在这里记录一下。 所以本文通过收集资料将其进行总结,主要介绍如何使用 to_string 和 to_stoi 处理在算法练习或竞赛中遇到的输入输出问题原创 2024-03-26 11:33:05 · 10413 阅读 · 7 评论
分享