![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 93
小白又菜
大四应届毕业生,软工专业。C/C++
展开
-
【C++】C++ 右值 相关常见问题
C++ 11 右值&&右值引用原创 2023-06-06 20:26:36 · 752 阅读 · 2 评论 -
【C++】虚函数相关常见问题
C++ 虚函数面试相关问题原创 2023-06-02 16:21:17 · 824 阅读 · 0 评论 -
【C++】C++ 11 智能指针
C++ 11 智能指针原创 2023-06-01 18:58:14 · 854 阅读 · 1 评论 -
[C++] helloworld 解析 C++入门(一)
在之前,我已经学完了C语言,数据结构初阶(C实现)。从本篇博客开始,我就要正式进入C++的学习历程了。C++的学习要结合之前C语言以及数据结构的知识,在学习C++的过程中顺便复习巩固已经学过的知识。愿自己能够持续努力,输出更多关于C++的优质文章。本篇内容包含C++第一个程序helloworld首先及其代码解析,命名空间,输入输出,函数重载等....目录1.helloworld的实现代码2.C++关键字3.命名空间3.1问题引入3.2命名空间的定义3.2.1 :...原创 2022-04-26 13:57:25 · 2141 阅读 · 44 评论 -
[C++] 深入理解C++函数重载底层原理 C++入门(2)
本篇文章我们要深入理解函数重载。还不了解函数重载的小伙伴可以看看上篇文章末尾简单理解一下[C++] helloworld 解析 C++入门(一)本篇主要解决的问题:1.C语言不支持重载,C++支持重载,为什么?2.C++如何支持重载?目录问题的引入1.函数重载(C++)1.1编译链接过程1.1.1预处理1.1.2编译1.1.3汇编1.1.4链接2.C语言 对函数重命名3.总结问题的引入首先我们复习一下函数重载。函数重载就像是一词多.原创 2022-04-29 12:40:11 · 1672 阅读 · 69 评论 -
[C++] 一篇带你搞懂引用(&)-- C++入门(3)
问题引入在我们日常的生活中每个人都或多或少存在一个"外号",例如《西游记》中孙悟空就有诸多外号:美猴王,孙行者,齐天大圣等等。那么在C++中,也可以给一个已经存在的变量取别名,这就是引用。那么接下来深入来探讨一下引用目录问题引入1.引用的概念1.1引用的表示方法1.2引用特性1.3常引用 引用权限1.4引用的使用场景1.4.1做参数1.4.2做返回值传值的底层过程:引用导致野指针:1.5值和引用作为返回值类型的性能比较1.6引用和指针的区别..原创 2022-05-10 18:32:31 · 25085 阅读 · 73 评论 -
[C++] 内联函数inline 以及 auto关键字 -- C++入门(4)
本篇文章主要包括内联函数和auto关键字。其中,内敛函数包括概念,特性等;auto关键字的使用规则,使用场景等。目录1.内敛函数1.1问题引入:1.2内联函数的概念1.3内敛函数的特性2.auto关键字2.1auto简介2.2 auto的使用细则2.3 auto不能推导的场景2.4 auto与新式for循环使用1.内敛函数1.1问题引入:我们在使用C语言中我们都学过函数,我们知道函数在调用的过程中需要开辟栈帧。如果我们需要频繁的调用一个函数,假设原创 2022-05-12 18:28:01 · 2785 阅读 · 61 评论 -
[ C++ ] 带你一篇了解什么是OOP(面向对象编程),什么是封装? -- 类与对象(上)
学习过C语言的小伙伴知道:C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。面向过程编程也叫结构化编程。虽然结构化编程的理念提高了程序的清晰度,可靠性,并且方便维护。但它再编写大型的程序时,仍然面临这巨大的挑战,OOP(面向对象编程)提供了一种新的方法。与强调算法的过程性编程不同的是,OOP强调的是数据。--引自《C++ Primer Plus(第六版)》1.面向对象编程C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。原创 2022-05-13 14:31:35 · 3838 阅读 · 26 评论 -
[ C++ ] 在C++中,空指针用NULL来初始化还合适吗?
问题引入:在C++11新特性中,我们用nullptr来表示指针空值,这是为什么呢?好好地NULL为什么不继续使用呢?说明在创造C++的大佬们一定发现了什么Bug,本篇我们就一起来讨论一下吧~目录1.C++98中的空指针1.1指针的危险性2.C++11中的空指针我们要了解C++11新特性的nullptr,我们很有必要先了解一下C++11之前的程序员是怎么使用空指针的。1.C++98中的空指针我们知道,在良好的C/C++编程习惯中,声明一个变量时最好给这个变量赋一个合适的原创 2022-05-14 17:30:52 · 2889 阅读 · 24 评论 -
[ C++ ] 一篇带你了解C++中隐藏的this指针
本篇文章我们将一起讨论在有趣的知识点--隐藏的this指针。本篇我们要使用到之前我们所学习到的C++类与对象(1),如果有各位小伙伴还不曾了解类与对象的简单思想,可以访问上篇博客:[ C++ ] 带你一篇了解什么是OOP(面向对象编程),什么是封装? -- 类与对象(上)目录1.this指针的引出2.this指针的特性3.练习一下在之后的学习中,我们将认识一个新的类:日期类Date。正如我们所想的那样,传入一个日期,我们可以输出我们所输入的日期。1.this指针的引出.原创 2022-05-15 19:06:33 · 19537 阅读 · 56 评论 -
[ C++ ] C++类与对象之 类中6个默认成员函数(1)
问题引入:在C++中,如果一个类中什么成员都没有,简称空类。空类中什么都没有吗?并不是的,任何一个类在我们不写的情况下,都会自动生成下面6个默认成员函数。这6个默认成员函数包括:构造函数,析构函数,拷贝构造函数,赋值重载,以及两个取地址。本篇我们将重点讨论构造函数,析构函数以及拷贝构造函数。目录1.类的6个默认成员函数2.构造函数2.1构造函数的概念2.2构造函数的特性2.2.2构造函数可以重载3.析构函数3.1概念3.2特性4.拷贝构造函数4.1概.原创 2022-05-16 12:39:12 · 1150 阅读 · 56 评论 -
[ C++ ] C++类与对象(中) 类中6个默认成员函数(2) --运算符重载
问题引入:在C++中,如果一个类中什么成员都没有,简称空类。空类中什么都没有吗?并不是的,任何一个类在我们不写的情况下,都会自动生成下面6个默认成员函数。这6个默认成员函数包括:构造函数,析构函数,拷贝构造函数,赋值重载,以及两个取地址。本篇我们重点来介绍赋值重载,我们在日期类中定义两个Date类型,如果我们要对这两个日期类进行日期的比较,日期的相减等等这些操作,我们该如何来完成呢?这就要用到本篇所提到的知识--运算符重载。1.运算符重载C++为了增强代码的可读性引入了运算符重载,原创 2022-05-17 18:09:22 · 523 阅读 · 26 评论 -
[C++] 类与对象(中) 一篇带你解决运算符重载实例--日期类Date
上篇文章我们了解了运算符重载,本篇文章我们将通过一个实例:日期类来巩固运算符重载的知识。本篇文章我们将主要实现一下接口。class Date{public: // 获取某年某月的天数 int GetMonthDay(int year, int month); // 全缺省的构造函数 Date(int year = 1900, int month = 1, int day = 1); // 拷贝构造函数 //d2(d1) Date(const Date& d);原创 2022-05-19 17:58:26 · 1540 阅读 · 22 评论 -
[ C++ ] 类与对象(下)日期类Date补充及流提取和流插入运算符重载
在之前我们实现了日期类Date,其中还有一些小的细节本篇将进行补充原创 2022-06-12 18:28:08 · 1132 阅读 · 50 评论 -
[ C++ ] 类与对象(下) 初始化列表,友元,static成员,内部类
本篇是C++类与对象最后的部分知识,主要是对类的更深层次理解和使用。原创 2022-06-14 23:19:16 · 472 阅读 · 18 评论 -
[ C++ ] 一篇带你了解C++中动态内存管理
C++ 动态内存管理 new和delete原创 2022-07-24 22:23:38 · 636 阅读 · 44 评论 -
[ C++ ] C++之模板template
C++ 模板template初阶,函数模板,类模板原创 2022-07-27 11:28:28 · 1247 阅读 · 37 评论 -
[ C++ ] string类之构造,拷贝,赋值 及其模拟实现
C++中string类的介绍,构造函数,拷贝构造,赋值构造,析构函数原理解析原创 2022-07-31 21:45:36 · 5973 阅读 · 31 评论 -
[ C++ ] string类常见接口及其模拟实现
string类的常见接口及其模拟实现,我将会从遍历,增,删,查,改5个方面对常见,常用的接口进行模拟实现string类。原创 2022-08-25 15:59:30 · 784 阅读 · 19 评论 -
[ C++ ] STL _ Vector使用及其模拟实现
[ C++ ] STL _ Vector使用及其模拟实现原创 2022-08-29 10:46:02 · 918 阅读 · 19 评论 -
[ C++ ] STL_vector -- 迭代器失效问题
vector的迭代器失效问题及其解决方案原创 2022-08-30 09:46:44 · 1576 阅读 · 10 评论 -
[ C++ ] STL_list 使用及其模拟实现
C++ STL库中 list的使用及重点接口的模拟实现原创 2022-08-30 18:21:12 · 693 阅读 · 10 评论 -
[ C++ ] STL_stack(栈)queue(队列)使用及其重要接口模拟实现
本篇博文主要介绍C++ STL库中stack和queue的重要接口和底层模拟实现原创 2022-08-31 11:02:15 · 441 阅读 · 4 评论 -
[ C++ ] STL priority_queue(优先级队列)使用及其底层模拟实现,容器适配器,deque(双端队列)原理了解
[ C++ ] STL_priority_queue(优先级队列)使用及其底层模拟实现,容器是配置器,deque(双端队列)原理了解原创 2022-08-31 18:13:38 · 955 阅读 · 16 评论 -
[ C++ ] template 模板进阶 (特化,分离编译)
本篇内容包括C++ 非典型模板参数,类模板的特化,模板的分离编译。原创 2022-09-01 14:10:05 · 1841 阅读 · 23 评论 -
[ C++ ] 继承
面向对象编程的主要目的之一是提供可重用的代码,C++提供了一个方法来扩展和修改类。这种方法叫做类继承。它能够从已有的类派生出新的类,而派生类继承了原有类(称为基类)的特征,包括方法。原创 2022-09-02 17:39:35 · 979 阅读 · 8 评论 -
[ C++ ] 抽象类 虚函数 虚函数表 -- C++多态(1)
抽象类 虚函数 虚函数表 多态(1)原创 2022-09-09 02:27:47 · 823 阅读 · 10 评论 -
[ C++ ] 多态原理 多态(2)
C++多态原理下原创 2022-09-19 15:55:53 · 739 阅读 · 22 评论 -
[ 数据结构进阶 - C++ ] 二叉搜索树
二叉搜索树 K模型 KV模型原创 2022-09-21 11:55:21 · 796 阅读 · 14 评论 -
[ 数据结构 - C++] AVL树原理及实现
平衡二叉搜索树-- AVL树 C++实现原创 2022-09-26 17:36:43 · 1030 阅读 · 25 评论 -
[ 数据结构 - C++]红黑树RBTree
数据结构进阶--C++ 红黑树RBTree原创 2022-10-02 11:44:29 · 1222 阅读 · 19 评论 -
[ C++ ] 设计模式——单例模式
单例模式原创 2023-03-07 22:30:34 · 388 阅读 · 0 评论