![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++学习
文章平均质量分 86
介绍C++的相关知识点
终将向阳而生
要一直坚持做正确的事情
展开
-
通过历史 --> 了解翻译环境(预处理、编译、汇编、链接)
这是我们学习代码的最重要的一个知识点之一,因为我们要去运行一个代码并不是简单的去直接出结果,而是经过了很多我们看不到的步骤,我们在这里以C语言为例子在Linux的环境下讲解,大家没有学过Linux的不用担心,最后会有一个思维导图,直接看就行。原创 2023-11-12 13:28:20 · 391 阅读 · 30 评论 -
C/C++内存对齐规则(结构体、联合体、类)
本篇博客介绍了内存对齐的规则,包括结构体嵌套结构体、结构体嵌套数组的例题;介绍了如何求union联合体的内存大小;还介绍了如何计算C++的类的内存大小原创 2023-11-10 13:34:00 · 1022 阅读 · 37 评论 -
逻辑自洽地区分【左值与右值】
一句话:“ 对一个表达式取地址,可以通过编译,那就是左值;反之则为右值。左值可以作为右值,此时是用到的对象的值/内容,右值不能作为左值”原创 2024-04-22 01:00:00 · 721 阅读 · 0 评论 -
C++【二叉搜索树的总结与模拟实现】
本博客模拟实现了二叉搜索树的插入、删除、查找;删除的5种情况讨论,并对二叉搜索树进行了优化,使其可以传入整型、浮点型、字符型、字符串string类型;并在插入的数据为递增或递减时,退化为单支树的问题进行了解决,使用了AVL树,后续会更新红黑树解决单支树问题,最后有优化后版本的全部代码!原创 2024-04-22 00:00:00 · 997 阅读 · 0 评论 -
C/C++中设置随机数
本篇提供了如何设置随机数和测试模版,在拓展方面提到了为什么srand中的数固定时,生成的随机数为固定的。原创 2024-04-15 14:43:50 · 512 阅读 · 0 评论 -
C++版【AVL树的模拟实现】
希望大家可以自行写出遍历操作、求树的高度、求树的节点个数等成员函数,需要注意的是,利用递归来完成的,都需要写个子函数,然后封装一下子函数.大家感兴趣,可以自行查阅删除操作后续会实现红黑树,红黑树那里会模拟实现一下map和set。原创 2024-04-15 00:00:00 · 763 阅读 · 0 评论 -
【C++】继承总结
本博客介绍了继承的概念、继承的规则、基类与派生类对象的赋值转换、继承的作用域、隐藏(重定义)、派生类的默认成员函数、继承与友元的关系、继承与静态成员、继承与组合、对多继承、菱形继承和菱形虚拟继承原创 2024-04-08 00:00:00 · 1756 阅读 · 8 评论 -
常见位运算的公式大全(建议收藏,以防走丢)
我们要默认最低位的二进制位的下标为0。能加括号就加括号,别给自己找麻烦。原创 2023-12-09 20:52:42 · 340 阅读 · 9 评论 -
C++之STL库:string类(用法列举和总结)
大家在学习STL库的时候一定要学会看英文文档,俗话说熟能生巧,所以还得多练!在使用string类之前,要包含头文件#include 和using namespace std;原创 2023-11-28 12:31:00 · 1006 阅读 · 2 评论 -
C++之模版初阶(简单使用模版)
这里需要重点注意一下,我们函数定义可以在类内部,也可以在类外部,但是在类外部需要注意一下简单的规则。1. 类模版外的函数定义,必须在同一个文件里2. 需要指定域空间和模版public:, _size(0){}~Stack();int _size;原创 2023-11-24 20:50:25 · 349 阅读 · 32 评论 -
C++的new / delete 与 C语言的malloc/realloc/calloc / free 的讲解
1. malloc只是动态开辟空间,并没有初始化这段空间的内容;2. realloc是用来扩容的,如果没有预先开辟空间,直接使用realloc,realloc的作用相当于malloc;3. calloc相当于是malloc的加强版,不仅可以开辟空间,也顺便初始化我们的内容;4. 面对内置类型可以直接开辟空间,但是对于自定义类型的话,比如我们的栈,则无法一步到位,因为栈里面还有数组空间的开辟,需要两层开辟。原创 2023-11-23 20:15:12 · 1138 阅读 · 46 评论 -
C/C++未定义行为的例子汇总
大家只要正确的写代码就行,别搞这些未定义的行为。解引用空指针解引用没被初始化的指针(野指针)使用指向生命周期已结束的对象的指针指针的越界访问有符号的整数的算数溢出数组越界访问访问未初始化的变量对字符串常量进行修改对于有返回值的函数,不返回返回值变量同时是左值和右操作数输出语句中的无顺序打印(这里特指此类洛谷日报:关于 C++ 未定义行为的一些事 - 知乎。原创 2023-11-22 10:13:36 · 441 阅读 · 7 评论 -
你想对构造函数说些什么?
构造函数是一种特殊的成员函数,跟我们之前所有的函数模样都不一样。构造函数不用写返回值构造函数的函数名是类名构造函数允许重载构造函数是在实例化对象时自动调用的构造函数的参数可以给缺省值class Datepublic:_day = day;int _month;int _day;原创 2023-11-20 14:20:21 · 474 阅读 · 11 评论 -
C++【this指针】总结
介绍了this指针为何引入、this指针的特性和有关this指针的问题:1. this指针能否改变;2. this指针在哪里使用;3. this指针存放在哪里?4. this指针可以为空吗?5. this指针出现的场景原创 2023-11-14 19:41:28 · 472 阅读 · 26 评论 -
C++入门学习(4)引用 (讲解拿指针比较)
在学习完函数重载之后,我们可以使用多个重名函数进行操作,会发现C++真的是弥补了好多C语言的不足之处,真的不禁感概一下,时代的进步是需要人去做出改变的,而不是一味的使用啊!所以我们今天继续学一下C++对C语言的指针的改变吧!原创 2023-11-08 12:39:46 · 801 阅读 · 19 评论 -
C++入门学习(3)函数重载
函数重载:是函数的一种特殊情况,C++允许在同一作用域中声明几个功能类似的同名函数,这些同名函数的形参列表(参数个数 或 类型 或 类型顺序)不同,常用来处理实现功能类似数据类型不同的问题int main()Add(1,2);return 0;在了解定义之后,我们会看到在C++里是根据同名函数的形参列表中的参数个数不同、参数类型不同和参数的类型顺序不同来区分同名函数的,所以这也就给函数重载的分类提供了种类。原创 2023-11-06 15:25:09 · 153 阅读 · 7 评论 -
C++入门学习(2)缺省参数
缺省参数是在声明或者定义函数时,为函数的参数指定一个缺省值(默认值)。在调用该函数时,如果我们没有给指定的实参,则采用该形参的缺省值,否则使用指定的实参。int main()cout原创 2023-11-06 14:25:04 · 273 阅读 · 19 评论 -
C++入门学习(1)命名空间和输入输出
在C语言和基本的数据结构学习之后,我们终于迎来了期待已久的C++啦!C++发明出来的意义就是填补一些C语言的不足,让我们更加方便的写代码,所以今天我们就来讲一下C语言不足的地方和在C++中的解决办法!我们还需要知道在C++里面是可以写C的程序的,来一起看下面这段代码,命名空间的关键字就是namespace,后面再加上命名空间的名字,就是起个名字,随便起,推荐大家起名字的缩写,表明这里面的变量都是自己的,那我们定义完命名空间之后该如何调用呢?原创 2023-11-05 14:33:12 · 634 阅读 · 20 评论