
C++程序设计
文章平均质量分 56
柯ran
这个作者很懒,什么都没留下…
展开
-
C++|对象的拷贝构造和赋值
如果类的数据成员有指针,则一定要实现如下函数●构造函数 (如果没有,会出现野指针)●拷贝构造函数 (如果没有,会出现浅拷贝)●重载 = 符号 (如果没有,会出现浅拷贝)●析构函数 (如果没有,会出现内存泄漏)原创 2025-03-19 17:39:16 · 335 阅读 · 0 评论 -
C++|向函数传递对象
在 C++ 里,对象作为函数的参数和返回值,有值传递、指针传递和引用传递这三种传递方式,下面为你详细介绍。原创 2025-03-18 20:52:45 · 340 阅读 · 0 评论 -
C++|this指针
this 指针是一个隐含于每一个成员函数中的特殊指针。当对一个对象调用成员函数时,编译程序先将对象的地址赋予this指针,然后调用成员函数。每次成员函数存取数据成员时,C++编译器将根据 this 指针所指向的对象来确定应该引用哪一个对象的数据成员。每个成员函数(包括构造函数和析构函数)都有一个this指针。可以理解为一个中间过渡工具,通常this指针在系统中是隐含存在的,也可以把它显式表示出来。中,参数名和成员变量名相同,为了区分它们,使用。,即返回当前对象的引用。来访问调用该函数的对象的成员变量。原创 2025-03-17 14:22:31 · 178 阅读 · 0 评论 -
C++|对象数组和对象指针
因为类本质上也是一种数据类型,所以定义对象数组、使用对象数组的方法与基本数据类型相似,系统为对象数组分配适合的内存空间,以存放数组中的每个对象,同时还为每个对象自动调用匹配的构造函数完成数组内每个对象的初始化工作,但数组结束时会自动调用每个对象的析构函数。 声明对象数组的格式为:类名 数组名[数组长度];对象数组通过下标访问具体对象访问具体对象的数据成员的格式为:数组名[下标].数据成员;//必须有访问权限访问具体对象的成员函数的格式为:数组名[下标].成员函数(实参列表);//必须有访问权限数组对象,构造原创 2025-03-17 13:44:38 · 196 阅读 · 0 评论 -
C++|构造函数和析构函数
在C++11中允许在类定义时对成员变量初始化。class Apublic:A(){ }private://类定义时初始化int m_b;//没有初始化int main()A a;a.show();return 0;如果在构造函数中也有赋值,以赋值的为准,这个就和普通变量一样,初始化的值会被后面的赋值覆盖。原创 2025-03-16 23:15:19 · 1298 阅读 · 0 评论 -
C++|类和对象
public 声明成员为公有成员。完全公开。都可以访问。private声明成员为私有成员。该级别的成员只能被它所在类中的成员函数和该类的友元函数访问。protected声明成员为保护成员。具有这个访问控制级别的成员,外界是无法直接访问的。它只能被它所在类及从该类派生的子类的成员函数及友元函数访问。原创 2025-03-16 22:06:41 · 472 阅读 · 0 评论 -
C++|空指针nullptr
作为一种特殊的值,与其他正常的数值、字符或对象值区分开来,使得程序能够明确地区分有效数据和无效数据,便于进行各种逻辑判断和处理。通常被定义为一个值为 0 的常量表达式,用来表示指针不指向任何有效的内存地址。它是一种特殊的空引用,与 C 和 C++ 中的。时,对其进行解引用操作会导致程序崩溃,这有助于在开发过程中及时发现潜在的问题,提高程序的稳定性和安全性。表示字段值的缺失,与空字符串或 0 等其他值有不同的语义,有助于正确地处理和分析数据。是一个特殊的对象,用于表示空值或缺少值的概念,类似于其他语言中的。原创 2025-03-16 20:28:10 · 325 阅读 · 0 评论 -
C++|范围for
变量:定义一个变量,用于在每次循环迭代中存储序列中的一个元素。该变量的类型应该与序列中元素的类型兼容,也可以使用。序列:表示要遍历的序列,可以是{}初始化列表、数组、C++11新引入的for语句,可遍历stl容器。等容器,也可以是返回迭代器对的对象。关键字让编译器自动推导元素类型。2.遍历string。3.遍历vector。原创 2025-03-16 20:24:39 · 141 阅读 · 0 评论 -
C++|列表初始化
窄化转换(收缩转换):窄化(收缩)转换是指将一个较大范围的数据类型转换为较小范围的数据类型,而可能导致数据丢失或精度降低的转换。{}空初始化列表时使用默认值进行初始化,例如int型默认为0,double型默认为0.0,指针默认为nullptr(空指针)。通过这种方式,列表初始化可以在编译阶段就发现潜在的数据丢失问题,帮助开发者编写出更健壮的代码。初始化可能会被视为创建一个包含单个元素的初始化列表,而不是将该元素的值赋给变量。列表初始化即使用{}初始化,可在编译时自动识别数据窄化转换(收缩转换)。原创 2025-03-16 19:04:39 · 208 阅读 · 0 评论