
C/C++
文章平均质量分 95
ZeroHeroX
这个作者很懒,什么都没留下…
展开
-
C++ 与复合数据类型:透过类理解结构体
C++ 最初被设计为 C with classes,它是C语言的一个超集。由于C语言已支持结构体,C++便继承了这一特性。为了确保与 C 的 兼容性,C++ 保持了 struct 的 语法和语义。但为了 利用面向对象的特性,C++ 扩展了 struct,使其与 C++ 中的类 近乎一模一样。尽管 struct 和 class 在语法上 几乎相同,但程序员通常会按照一致的约定来使用它们,例如 使用 struct 来表示纯粹的存储结构(用于存放多种不同数据类型数据的结构),而 使用 class 来表示。原创 2023-10-11 16:39:46 · 237 阅读 · 0 评论 -
指挥棒:C++ 与运算符
逻辑与运算符仅当前一个操作数的转换结果为 true 时,才会计算后一个个操作数。逻辑或运算符仅当前一个操作数的转换结果为 false 时,才会计算后一个操作数。逻辑与运算符的第前一个操作数的转换结果为 false 以及逻辑或运算符的前一个操作数为 true 时,都将发生 短路,即后一个操作数不会被计算。原创 2023-10-10 18:24:53 · 388 阅读 · 0 评论 -
C++ 与基本数据类型:整型、布尔型与字符型
数据类型用于确定变量存储的 数据所占用的内存空间大小和支持的操作。数据类型分为基本数据类型和复合数据类型两大类。基本数据类型是编程语言中的原始数据类型,通常由编程语言提供,用于存储 单一的、简单的 数据值。数据类型在 `C++` 中是 `静态类型`,这意味着 `在变量声明时必须指定其数据类型`,编译器在编译时会检查 `类型一致性`,从而提高了代码的稳定性和安全性。选择适当的数据类型对于编写 `高效、可读性强` 的代码非常重要,因为它会影响变量的内存空间占用、运行速度以及程序的正确性。原创 2023-10-10 16:57:21 · 1004 阅读 · 0 评论 -
C++ this 指针与静态成员
如果将一个成员属性声明为静态成员属性,则该类的所有对象都可以访问该成员属性。如果将一个成员函数声明为静态成员函数,那么该函数将能够在类的任何实例被创建前调用。默认情况下,编译器为类的每个成员函数提供了一个隐式形参,该形参指向被调用的成员函数所在的对象。当成员函数的形参与成员属性同名时,在成员函数的内部将发生冲突,成员属性将被隐藏。,我们可以在发生冲突的成员函数内部冲破同名形参的封锁,访问同名的成员属性。指针仅能指向由所属类实例化的对象,将实参赋予形参的操作将在创建类的实例对象的过程中自动完成。原创 2023-03-11 22:17:58 · 275 阅读 · 0 评论 -
C++ 之 this 指针或常量形参的传递问题或常量成员函数
隐式形参 this 为一个指针,指向函数所在的对象。你可以在成员函数中直接使用隐式形参 this 。this 指针仅能指向由所属类实例化的对象,将实参赋予形参的操作将在创建类的实例对象的过程中自动完成。承诺不修改 X 的函数不能将 X 传递给另一个函数,除非第二个函数也承诺不修改 X。原创 2023-03-11 19:44:05 · 1350 阅读 · 0 评论 -
C++ 之动态内存分配
在某些时候,你并不能在程序运行前便知道程序需要多少的内存空间,你需要在程序运行时就这个问题做出选择。在程序运行时,通过使用 new 运算符你将能够向计算机请求从一片特殊的内存区域,即堆内存中请求合适的内存空间。如果堆内存中尚有可以利用且存在程序所要求的一定大小的内存空间,那么计算机将会将分配给程序的内存空间的首地址发送给程序,程序接受该地址并通过该地址向该地址所对应的内存空间进行数据的存取。原创 2023-03-09 23:08:52 · 1839 阅读 · 0 评论 -
C++ 之指针
指针中存放着指向内存中的某一空间(空间大小为一个字节,内存以字节为基础进行地址的编排及内存的划分)的内存地址,CPU 可以通过这个地址以及一些其它信息获取到该内存地址对应的内存空间中存放的数据。内存的每一个字节都有唯一的地址。变量的地址是分配给该变量的第一个字节的地址。原创 2023-03-09 17:15:54 · 610 阅读 · 0 评论 -
C++ 之枚举类型
在 C++ 中,如果一个变量的可能取值为有限个时,你可以使用枚举类型对该变量进行声明。枚举类型是枚举常量的集合,枚举常量即是使用该枚举类型声明的枚举变量所能取得的值。枚举类型并不能为你提供太多的帮助,但能有效地提高程序的可读性及可靠性(安全性)。原创 2023-03-04 20:27:21 · 4067 阅读 · 0 评论 -
C++ 之结构体与共用体
一个结构体中可以同时存在多个元素,且这些元素的数据类型没有限制。你若在一个结构体中声明一个匿名共用体,那么这个匿名共用体中的变量将被同化为匿名共用体所在的结构体中的变量。共用体能够存储多种数据类型,但在某一时间仅能存储其中的一种数据类型。共用体的使用语法与结构体相似,在学习了结构体后相信你可以很快上手共用体。原创 2023-02-18 18:32:17 · 1928 阅读 · 0 评论 -
C++ 之运算符
前置自增与后置自增的区别在于,两者所作用的操作数自增的时机不同。前置自增的自增时机在包含自增语句的表达式执行完毕前(执行到自增语句时立即完成自增)完成自增,而后置自增的自增时机则在包含自增语句的表达式执行完毕后完成自增。除法操作符作用的两个操作数若为整数时,除法运算的结果将为整数。取模运算与除法运算的区别在于,除法运算的结果值为两数相除的结果,而取模运算的结果值为两数相除所得到的余数。自减运算符与自增运算符的效果类似,只是自增运算符最终将实现操作数的自增(逻辑与运算符的第一个操作数的转换结果为。原创 2023-02-14 20:19:24 · 4023 阅读 · 0 评论 -
C++ 基本数据类型:C++ 与基本数据类型(整型、布尔型及字符型)
使用 sizeof 运算符检测当前 C++ 实现下某个变量所占用的内存空间时,可以使用 sizeof 的函数形式或关键字形式。而使用 sizeof 运算符检测当前 C++ 实现下某个数据类型所占用的内存空间时,仅能使用 sizeof 的函数形式,否则你将观察到错误信息。在 C++ 中,并不是只有变量有其数据类型,字面量也是有其数据类型的。整型字面量使用的默认数据类型为 int,我们可以通过如下代码进行验证。原创 2023-02-14 07:00:41 · 1816 阅读 · 0 评论