C++
文章平均质量分 91
用于记录C++ 的学习笔记
sunny-ll
一个从零开始学习编程的小白菜
展开
-
【C++】vector的迭代器失效问题(什么是迭代器失效?那些操作会导致迭代器失效?如何避免迭代器失效?)
最近我们学习了 vector类 的用法和模拟实现,同时呢也提到了C++中的迭代器失效问题,在之前的文章只是简单的提了一下,由于迭代器失效问题是非常重要的,所以特地整理出来方便后期的复习和学习。 这篇文章的要点只有三点:1.什么是迭代器失效?2.vector那些操作会导致迭代器失效?3.如何避免迭代器失效?原创 2024-05-03 14:53:31 · 2136 阅读 · 11 评论 -
【C++】vector类的增删改查模拟实现(图例超详细解析!!!)
本模块呢,我将会带大家一起从0~1去模拟实现一个STL库中的 vector类,当然模拟实现的都是一些常用的接口,以便于让大家更好的巩固之前学习过的缺省参数、封装、类中的6大默认成员函数等,代码量大概在 600行左右。原创 2024-05-02 19:03:21 · 799 阅读 · 11 评论 -
【C++】匿名对象超详细详解(什么是匿名对象?对象可以是哪些类型呢?)
在C++中,匿名对象(Anonymous Object)是指在没有被命名的情况下创建的临时对象。它们通常用于在单个语句中执行一系列操作或调用某个函数,并且不需要将其结果存储到变量中。原创 2024-05-01 16:00:09 · 1008 阅读 · 7 评论 -
【C++】string类的增删改查模拟实现(图例超详细解析!!!)
本模块呢,我将会带大家一起从 0~1去模拟实现一个STL库中的 string类,当然模拟实现的都是一些常用的接口,以便于让大家更好的巩固之前学习过的 缺省参数、封装、类中的6大默认成员函数等,代码量大概在 600行左右。原创 2024-04-25 16:50:16 · 1533 阅读 · 17 评论 -
【C++】友元--最全解析(友元是什么?我们应该如何理解友元?友元可以应用在那些场景?)
在C++编程语言中,友元函数(Friend Function)是一种特殊的函数,具有访问类中私有成员和保护成员的权限,尽管它不是类的成员函数。友元函数的存在使得类的设计更加灵活,能够在需要时授予外部函数访问类的私有成员的能力。本文将详细介绍C++中的友元函数,包括其定义、使用场景、优缺点以及示例。原创 2024-04-22 17:39:40 · 1048 阅读 · 7 评论 -
【C++】explicit关键字详解(explicit关键字是什么? 为什么需要explicit关键字? 如何使用explicit 关键字)
在我们自己平时写 C++ 代码的时候,较少会用到 explicit关键字 。但是在C++相关的标准类库中,看到explicit关键字的频率还是很高的。既然出现的频率这么高,那么我们就来看看explicit关键字的作用到底是干什么的。原创 2024-04-16 08:55:09 · 1440 阅读 · 10 评论 -
【C++】深度解析---赋值运算符重载(小白一看就懂!!)
【C++】为了增强代码的可读性引入了赋值运算符重载,赋值运算符重载是具有特殊函数名的函数,也具有其返回值类型,函数名字以及参数列表,其返回值类型与参数列表与普通的函数类似。但是赋值运算符重载的应用细节很多和之前讲过的拷贝构造函数数有着千丝万缕的关系,所以本文就来详细的讲解一下赋值运算符重载。原创 2024-04-14 22:44:44 · 1217 阅读 · 9 评论 -
【C++】深度解析--拷贝构造函数(从0开始,详解浅拷贝到深拷贝,小白一看就懂!!!)
本次博客将继续深度的讲解拷贝构造函数。原创 2024-04-14 10:00:51 · 769 阅读 · 7 评论 -
【C++】详解类的--封装思想(让你丝滑的从C语言过度到C++!!)
从本文开始,我们就要重新认识一下C++中的类和对象了,本文我将总结我的心得,一步步解析从C语言的结构体struct到C++的类class,真正搞懂有关C++的面向对象的三大特征之一 ——封装原创 2024-04-13 10:09:30 · 1473 阅读 · 7 评论 -
【C++】详解 Unique 函数 (小白一看就懂!!!)
经常刷算法题的朋友,肯定会经常看到题目中提到 去重这样的字眼,或者需要我们通过去重来解题,由于之前对去重了解的不太清楚,导致做题的时候总会卡住,所以收集了一些资料来详解Unique。原创 2024-04-08 21:24:10 · 979 阅读 · 6 评论 -
【C++】详解vector二维数组的全部操作(超细图例解析!!!)
最近在刷 Leetcode 的时候,发现 vector 的二维数组操作 都还没弄明白吗,但是STL的强大是众所周知滴,早晚都是要解决滴,因此专门写下这篇文章,以供自己复习和各位老铁使用,快速的回忆vector的用法,让你找回自信,不用再竞赛的时候颜面尽失。原创 2024-04-08 10:55:35 · 2879 阅读 · 6 评论 -
【C++】 vector <string> 的超详细解析!!!
在【C++】中,vector是一个动态数组,它可以根据需要自动调整自身的大小。同样 vector 表示一个由 string 组成的 vector 。string 是一个字符序列,可以理解为文本字符串。但是在平时刷 leetcode 的时候,还是搞不清楚 vector的用法 ,所以通过查阅资料,将其记录下来。原创 2024-04-01 11:28:49 · 2604 阅读 · 21 评论 -
【C++】快速判断元音字母,让代码不在繁琐!!
大家有没有发现,我们在做算法题的时候,经常会碰到让我们判断一个字母是否为 元音字母,可是用通常的 if 条件判断 要繁琐了,于是我就在想,在 【C++】中有没有内置的函数(类似isalpha(),isdigit(),isalnum()等)能直接完成这个功能,但是函数没发现,却发现更加新颖的方法,让我们的代码更加简洁,来看一下吧!原创 2024-03-28 22:34:44 · 596 阅读 · 12 评论 -
【C++】详谈iterator迭代器 --- 左闭右开原则!!!
想必大家在做 LeetCode 算法题的时候会经常看到有使用 STL库中的iterator迭代器 来处理各种问题,由于自己对 iterator迭代器中的 左闭右开原则不是很了解,查了资料在这里记录一下。 所以本文通过收集资料将其进行总结,主要介绍如何利用 iterator迭代器中的左闭右开原则 处理在算法练习或竞赛中遇到的问题。原创 2024-03-28 11:26:54 · 1328 阅读 · 11 评论 -
【C++】详解 to_string 与 stoi 函数(整数转字符串-字符串转整数)
想必大家在做 LeetCode 算法题的时候会经常看到有使用 to_string 和 to_stoi 处理字符串,由于自己对这个类不是很了解,查了资料在这里记录一下。 所以本文通过收集资料将其进行总结,主要介绍如何使用 to_string 和 to_stoi 处理在算法练习或竞赛中遇到的输入输出问题原创 2024-03-26 11:33:05 · 1787 阅读 · 6 评论 -
【C++】stringstream类 最全超详细解析(什么是stringstream? stringstrem有哪些作用? 如何在算法中应用?)
想必大家在做 LeetCode 算法题的时候会经常看到有使用 stringstream 类 处理字符串,由于自己对这个类不是很了解,查了资料在这里记录一下。 所以本文通过收集资料将其进行总结,主要介绍如何使用 stringstream 处理在算法练习或竞赛中遇到的输入输出问题。原创 2024-03-22 10:36:10 · 5006 阅读 · 15 评论 -
【C/C++】详解 assert() 断言(什么是assert? assert有什么作用?)
在编写程序过程中,尤其是调试代码时,往往需要一个提醒代码漏洞/Bug的小助手,以便于程序员及时修改和完善代码。那么assert关键字就可以成为这个小助手。原创 2024-03-20 22:39:49 · 5104 阅读 · 16 评论 -
【C++】详解 INT_MAX 和 INT_MIN(INT_MAX 和 INT_MIN是什么?它们的用途是什么?如何防止溢出?)
大家在平时刷 leetcode 的时候,肯定会碰到 溢出问题 ,之后查看题解,大部分题解都会通过 INT_MAX 和 INT_MIN 来进行解决。那么为了弄清楚什么是 INT_MAX 和 INT_MIN ,我们收集了一些资料,总结如下哦!!原创 2024-03-20 16:05:47 · 2717 阅读 · 8 评论 -
【C++】string 类---字符判断与大小写转换(超详细解析!)
string类 是C++标准库的一个重要的部分,主要用于字符串处理。可以使用输入输出流方式直接进行string操作,也可以通过文件等手段进行string操作。同时,C++的算法库对string类也有着很好的支持,并且string类还和c语言的字符串之间有着良好的接口。原创 2024-03-19 17:09:33 · 1594 阅读 · 25 评论 -
【C++ STL】string类最全解析(什么是string?string类的常用接口有哪些?)
最近在刷 leetcode的时候,发现 string 都还没弄明白吗,但是 STL 的强大是众所周知滴,早晚都是要解决滴,因此专门写下这篇文章,以供自己复习和各位老铁使用,快速的回忆 string 的用法,让你找回自信,不用再竞赛的时候颜面尽失。 本次博客主要讲解 string 的常用接口,由于篇幅过长,string 的常考面试题,下一篇博客来阐述,请大家持续关注我O!!原创 2024-03-18 16:23:28 · 2037 阅读 · 11 评论 -
【C/C++】常量指针与指针常量的深入解析与区分(什么是const int * 与 int * const ?)
在【C/C++】的编程中,指针与const关键字的组合常常会引出大部分初学者的困惑(比如我😂),特别是学习到C++ 中的拷贝构造那里如果分不清【常量指针】与【指针常量】之间的含义与区别的话,是相当的难受。所以本文旨在深入解析这两种声明的含义,帮助大家准确的区分它们。原创 2024-03-09 21:22:58 · 1448 阅读 · 15 评论 -
【C/C++】结构体内存对齐 ----- 面试必考(超详细解析,小白一看就懂!!!)
结构体大家都应该了解过,可是大家是否会去深究结构体中的---结构体内存问题呢?由于最近在找实习的过程中,每次都会被问到结构体内存大小的问题,每次都是以回答错误而结束面试。所以现在现在才醒悟过来,才知道这些知识点有多么的重要,所以咬紧牙,把这个内容的知识点记录下来!原创 2024-03-06 15:06:24 · 1124 阅读 · 20 评论 -
【数据存储】大端存储||小端存储(超详细解析,小白一看就懂!!!)
大小端存储是计算机存储的一个设计概念,涉及了高地址和低地址,数据的高位和低位等概念,所以在理解大小端存储之前,需要知道什么是高地址和低地址,什么是数据的高位和低位,这样才能更好的理解大小端存储。原创 2024-03-05 14:59:41 · 1745 阅读 · 12 评论 -
【C/C++】深入理解--函数重载(什么是函数重载?为什么要有函数重载?)
注意: 对于函数重载这个概念,我们在学习C语言的时候是没有听过的,因为在C语言中是不存在函数重载概念的。只有在的文件中,我们才可以进行函数重载回顾程序的编译链接 采用C语言编译器编译后结果 gcc的函数名修饰规则 采用C++编译器编译后结果g++的函数名修饰规则 以下就是我对【C/C++】函数重载的理解,如果有不懂和发现问题的小伙伴,请在评论区说出来哦,同时我还会继续更新对C++类和对象的理解,请持续关注我哦!!!!!原创 2024-01-31 18:03:57 · 1724 阅读 · 25 评论 -
【C/C++】详解程序环境和预处理(什么是程序环境?为什么要有程序环境?如何理解程序环境?)
本文主要是认识与学习C/C++中的程序环境和预处理。原创 2024-01-26 22:36:01 · 952 阅读 · 15 评论 -
【C++ STL】vector类最全详解(什么是vector?vector类的常用接口有哪些?)
本次博客主要讲解vector的一维用法,由于篇幅过长,vector的二维用法,下一篇博客来阐述,请大家持续关注我O!!原创 2023-12-04 22:59:59 · 3179 阅读 · 13 评论 -
【C++ STL】string类-----迭代器(什么是迭代器?迭代器分哪几类?迭代器的接口如何使用?)
在C++中,标准模板库(Standard Template Library,STL)是一组强大的通用模板类和函数,它为我们提供了很多供使用的数据结构和算法。其中,string类是STL中一个非常有用的类,用于处理字符串。在使用string类时,我们经常需要遍历字符串的每个字符或者进行某些特定的操作。而实现遍历和操作的关键就是使用string迭代器。本文将详细介绍string迭代器的使用方法及其在处理字符串时的重要作用。原创 2023-11-20 21:57:53 · 832 阅读 · 24 评论 -
C++ 模板保姆级详解——template<class T>(什么是模板?模板分哪几类?模板如何应用?)
在我们学习C++时,常会用到函数重载。而函数重载,通常会需要我们编写较为重复的代码,这就显得臃肿,且效率低下。重载的函数仅仅只是类型不同,代码的复用率比较低,只要有新类型出现时,就需要增加对应的函数。此外,代码的可维护性比较低,一个出错可能会导致所有的重载均出错。那么,模板的出现,就让这些问题有了解决方案,所以本次博客将为大家详细的讲解C++的模板!!原创 2023-11-12 22:39:35 · 5018 阅读 · 21 评论 -
C/C++ 动态内存管理(内存是如何分布的?malloc/new,free/delete的用法是什么?区别是什么?)
如果申请的是内置类型的空间,new和malloc,delete和free基本类似,不同的地方是:new/delete申请和释放的是单个元素的空间,他的存储空间是连续的,两个紧密挨着定义的局部变量,他们的存储空间也是紧挨着的。一样,通常是用于那些在编译期间就能确定存储大小的常量的存储区,并且在程序运行期间,存储区内的常量是全局可见的。需要注意的是,两个紧挨着定义的指针变量,所指向的malloc出来的两块内存并不一定的是紧挨着的,给一个已经分配了地址的指针重新分配空间,可以做到对动态开辟内存大小的调整。原创 2023-11-10 14:13:43 · 1161 阅读 · 1 评论 -
C/C++ static关键字详解(最全解析,static是什么,static如何使用,static的常考面试题)
本文将会循序渐进,先从C语言的static讲起,慢慢延申到C++,从易到难,每一步都会举一些通俗易懂的例子帮助大家理解(帮助自己理解,怕忘记😂),好了开始整活!原创 2023-11-04 18:16:39 · 17035 阅读 · 18 评论 -
【C++】关于构造函数后面冒号“:“的故事------初始化列表(超详细解析,小白一看就懂)
在之前的博客学习中,我们已经学习了【C++】的六大默认成员函数 ,想必大家已经对构造函数已经比较熟悉了,可是大家是否遇到过,在构造函数后面跟了一个冒号,这个问题让我很是困惑,于是就有了这篇博客。原创 2023-11-02 10:44:33 · 1690 阅读 · 19 评论 -
【C++】类的默认成员函数----const成员函数(超详细解析)
详解C++中的const成员函数原创 2023-11-01 17:16:08 · 3139 阅读 · 27 评论 -
C++模拟实现-----日期计算器(超详细解析,小白一看就会!)
在之前的博客学习中,我们已经详细的讲解了C++中的引用、缺省函数、this指针、构造函数、析构函数、拷贝构造函数、运算符重载等非常重要的知识,但是对于这些知识如何如何的使用还没有进行讲解,所以本次博客将以日期计算器为例,将以上知识融合起来讲解,帮助大家更好的理解。原创 2023-10-28 12:45:11 · 961 阅读 · 34 评论 -
C++:类的默认成员函数------拷贝构造函数&&赋值运算符重载
C++为了增强代码的可读性引入了运算符重载,运算符重载是具有特殊函数名的函数,也具有其返回值类型,函数名字以及参数列表,其返回值类型与参数列表与普通的函数类似。可以看到,这一种方式也会引发拷贝构造,当函数内部返回一个Date类的对象时,此时外界再使用Date类型的对象去接收时,就会引发拷贝构造。综上,我们可以得知,浅拷贝针对日期类这种是没有问题的,而类的成员若是指向一块空间的话就不能用浅拷贝了。为了避免出现无限递归调用拷贝构造,所以要加上引用,加上引用后,d就是d1的别名,不存在拷贝构造了。原创 2023-10-24 09:36:57 · 703 阅读 · 23 评论 -
C++:类的默认成员函数------构造函数&&析构函数(超详细解析,小白一看就懂!)
C++类的默认成员函数--------构造函数&&析构函数原创 2023-10-21 22:52:44 · 2700 阅读 · 18 评论 -
C++ 类和对象(上)------超详细解析,小白必看系列
就好比如一件珍藏在博物馆里的艺术品,在C语言中,这些艺术品就像是没有受到任何权限限制,也没有工作人员监管,供游客观赏时间长了可能艺术品被人偷走了都不知道,而在C++中,这些艺术品就受到了保护,有工作人员的巡逻,有摄像头的抓拍,也有玻璃罩将其封装到安全范围内。C++设计出了类,类里除了可以定义成员变量,还可以定义函数,所以我们就可以把上述栈的初始化,插入,取栈顶全放到类里,也就实现了数据和方法封装到一起。按理来说,第一行的代码才是正确的,合理的,中肯的访问形式,第二行代码直接用结构去操纵成员,虽然也可以,原创 2023-10-18 18:19:21 · 825 阅读 · 18 评论 -
C++ 引用(&)的超详细解析(小白必看系列)
C++ 的引用(&)多角度分析,让你一看就懂!原创 2023-10-16 09:04:15 · 5739 阅读 · 28 评论 -
C++ 缺省参数的使用要点(超详细解析,小白必看系列)
C++ 缺省参数详解原创 2023-10-13 08:54:06 · 2255 阅读 · 28 评论 -
C++ 命名空间-----namespace(超详细解析,小白必看系列)
深度理解C++ 命名空间 namespace ,超详细解析,小白一看就会O原创 2023-10-11 21:24:09 · 1091 阅读 · 7 评论