![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 90
houxian1103
这个作者很懒,什么都没留下…
展开
-
C++ 运算符重载
这些指针是行为与正常指针相似的对象,唯一不同的是,当您通过指针访问对象时,它们会执行其他的任务。当重载()时,您不是创造了一种新的调用函数的方式,相反地,这是创建一个可以传递任意数目参数的运算符函数。同样地,下面的实例演示了如何重载类成员访问运算符->。下面的实例演示了如何重载加运算符(+),减运算符(-)和乘运算符(*)。我们平常使用的加运算符(+)、减运算符(-)、乘运算符(*)和除运算符(/)都属于二元运算符。就像其他运算符一样,您可以重载赋值运算符(=),用于创建一个对象,比如拷贝构造函数。原创 2023-10-05 22:49:38 · 626 阅读 · 0 评论 -
C++ 内存空间总结
因为结构体有时候需要字节对齐。一般而言,struct 的 sizeof 是所有成员字节对齐后长度相加,而 union 的 sizeof 是取最大的成员长度。在默认情况下,编译器为每一个变量或数据单元按其自然对界条件分配空间。一般地,可以通过下面的方法来改变默认的对界条件:(1) 使用伪指令#pragma pack(n),C编译器将按照n个字节对齐。(2) 使用伪指令#pragma pack(),取消自定义字节对齐方式。原创 2023-10-04 18:44:30 · 738 阅读 · 0 评论 -
C++中的四种强制类型转换符详解
C++ 既支持 C 风格的类型转换,又有自己风格的类型转换。reinterpret 的英文含义有重新转换的含义,就相当于 C 语言中不相关类型的转换,强转。下面程序中,参数 pb 指向的是 B 类对象,pd1 的值不为0,而 pd2 的值为 0。C++ 风格完美的解决了上面两个问题。原创 2023-10-03 22:45:55 · 545 阅读 · 0 评论 -
c++三大概念要分清--重载,隐藏(重定义),覆盖(重写)
如果派生类的函数与基类的函数同名,并且参数也相同,但是基类函数没有 virtual 关键字,此时基类的函数才被隐藏。如果派生类的函数与基类的函数同名,但是参数不同,则不论有无 virtual 关键字, 基类的函数都将被隐藏。在调用一个类的成员函数时,编译器会沿着类的继承链逐级地向上查找函数的定义,如果找到了就停止查找了。原创 2023-10-02 22:43:12 · 958 阅读 · 0 评论 -
[C++基础] 变量、关键字、运算符、位操作篇
定义(definition)为变量分配存储空间,还可以为变量指定初始值。而声明(declaration)是指向程序表明变量的类型和名字。定义也是声明,定义变量的同时也声明了它的类型和名字。一般为了叙述方便,把建立存储空间的声明称定义,而不把建立存储空间的声明称为声明。原创 2023-09-16 23:38:28 · 306 阅读 · 0 评论