
C++
文章平均质量分 79
℃绝心恋
这个作者很懒,什么都没留下…
展开
-
C++:从结构体开始理解this指针
C++:从结构体开始理解this指针 #include <iostream> #include <string> using namespace std; class student { public : void Init(string id,string name,int age) { id_ = id; name_ = name; age_ = age; } void print() { cout << id_ << endl原创 2021-05-03 15:19:59 · 2850 阅读 · 4 评论 -
C++:计算结构体和对象的大小
C++:计算结构体和对象的大小如何计算结构体的大小结构体的内存对齐为什么存在内存对齐如何计算一个对象的大小 如何计算结构体的大小 其实计算一个结构的大小的方法并不难,简单来说就是把结构体内的所有成员的大小相加就可以。但是,需要内存对齐那么究竟什么是内存对齐,又为什么要进行类型对齐呢? 结构体的内存对齐 结构体内存对齐主要有两个步骤: 1.结构体各成员对齐. 2.结构体总体对齐 结构体内存对齐规则: 1.结构体的第一个成员在存放在结构体偏移量为0的位置 2.其他成员变量要对齐到某个数字(对齐数)的整数倍原创 2021-05-03 11:34:50 · 815 阅读 · 15 评论 -
C++:在代码中理解宏定义和内联函数
宏定义 在C语言中,宏定义是比较常用的预处理指令,即使用“标识符”来表示“替换列表”中的内容。标识符称为宏名,在预处理过程中,预处理器会把源程序中所有宏名,替换成宏定义中替换列表中的内容。 常见的宏定义主要有两种,即不太参数的宏定义和带参数的宏定义(宏函数)。 不带参数的宏定义 格式: #define 表示符 替换列表 /*替换列表可以是数值常量、 字符常量、字符串常量等,所 以可以把故可以把宏定义理解 为使用标识符表示一常量,或 称符号常量。 */ 注意: 1.#可以不在首行,但是在它前面只允许有空格原创 2021-04-29 11:46:17 · 565 阅读 · 7 评论 -
C++:单例模式以及一些常见的特殊类
C++:单例模式什么是单例模式单例模式饿汉模式二级目录三级目录 什么是单例模式 首先我们需要知道什么是设计模式,设计模式是软件开发人员在长期的软件开发过程中总结出来的在面临一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。这就有点类似于我们古代的《孙子兵法》一样,都是通过长期的经验总结出来的。那么使用设计模式的目的是什么呢? 使用设计模式的目的: 1.为了提高代码的可重用性 2.让代码更容易被他人理解 3.保证代码可靠性 4. 设计模式使代码编写真正工程化 5.原创 2021-04-23 22:42:50 · 505 阅读 · 5 评论 -
数据结构:顺序表的实现——C语言描述
顺序表顺序表的概念定义顺序表的结构基本操作初始化顺序表尾部插入元素头部插入元素尾部删除元素头部删除元素打印顺序表的元素查找元素按位置插入元素按位置删除元素完整代码 顺序表的概念 顺序表是指用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。 顺序表一般可分为静态顺序表(使用定长数组存储)和动态顺序表(使用动态开辟的数组存储),这里我们只为大家分享动态顺序表的创建以及相关操作。 1.顺序表的静态存储: #define N 100 typedef int ElemType; typ原创 2020-11-13 00:38:32 · 1136 阅读 · 1 评论 -
C++第四弹:引用
引用引用的概念引用的特性使用场景传值,传引用效率的比较引用和指针的区别 引用的概念 在生活中我们经常会因为自身的一些特征,而别别人叫一个另外一个名字,比如和你比较熟悉的朋友一般叫你小陈。在C++中也存在着类似于绰号的概念——引用。 首先我们需要了解引用并不是定义了一个新的变量,就像别人给你取了一个外号,但是你还是你,没有变成另外一个人,引用也是这样,编译器不会为引用开辟内存空间,它和它引用的变量共同使用同一块内存空间。 使用方法: #include <iostream> using namesp原创 2020-11-05 22:45:13 · 170 阅读 · 0 评论 -
C++第三弹:函数重载
函数重载概念为什么C++支持函数重载,而C语言不支持 概念 函数重载是函数的一种特殊情况,在C++中允许在同一作用域中声明几个功能类似的同名函数,这些同名的函数的形参列表(参数的个数或类型或顺序)必须不同,函数重载常用来处理实现功能类似数据类型不同的问题。比如说我们数学中的两个数字相加的法问题,我们可以用两个整型数字相加,也可以用double类型的数字相加等等。 例子: #include <iostream> using namespace std; int Add(int left, int原创 2020-10-23 06:11:19 · 143 阅读 · 0 评论 -
C++第二弹:C+备胎(缺省参数)
生活中备胎这个概念相信大家都很熟悉,不管是字面的意义,还是“备胎”这个词的引申意,其实,不止是在生活中,在我们的C++中,“备胎”也是存在的,这就是我们今天的主题——缺省参数,那么为什么说它是C+中的“备胎”呢,相信大家看了这篇文章就会一目了然了。 缺省参数缺省参数的概念缺省参数的分类全缺省参数半缺省参数使用缺省参数的注意事项 缺省参数的概念 缺省参数是指声明或定义函数时为函数的参数指定一个默认值。而在调用该函数时,如果没有指定实参则采用该默认值,否则使用指定的实参。 看了缺省参数的概念相信大家对于它为什么原创 2020-10-20 00:26:17 · 315 阅读 · 0 评论 -
C++第一弹:命名空间
1.命名空间 在C++中,变量、函数、类都将存在于全局作用域中,在程序员使用各种各样的C++库时,可能会发生冲突,使用命名空间的作用就是对标识符的名称进行本地化,以避免命名冲突或域名污染。 2.命名空间的定义 格式: namespace 命名空间的名字 { 命名空间的成员 } 接下来给大家分享一下命名空间的几种形式(注:同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间): (1)普通的命名空间 namespace N1 { int a; int Add(int left ,原创 2020-09-29 22:41:23 · 209 阅读 · 0 评论