
C++初阶
文章平均质量分 85
寒雒
优快云新人,请多关照。
展开
-
【C++】什么是“友元”?友元函数的作用?友元类访问权限?
友元类,现在尝试去重载operator原创 2024-12-25 00:24:52 · 406 阅读 · 0 评论 -
【C++】static修饰的“静态成员函数“--静态成员在哪定义?静态成员函数的作用?
所有静态成员为所有类对象所共享,不属于某个具体的对象,存放在静态区静态成员变量必须在类外定义在类内声明,定义时不添加static关键字,在类中声明时加static关键字类静态成员可用 类名::静态成员名 或者 对象.静态成员名 来访问静态成员函数没有隐藏的this指针,不能访问任何非静态成员静态成员也是类的成员,受public、protected、private 访问限定符的限制原创 2024-11-24 21:35:29 · 1711 阅读 · 0 评论 -
【C++】带你实现“流插入运算符”重载
我们之前已经学习了何为运算符重载,今天我们尝试来实现最常用的"流插入运算符"的重载。作为实验,我们这里先来定义一个最简单的日期类。原创 2024-11-21 15:40:42 · 331 阅读 · 0 评论 -
【C++】浅谈:const成员函数
将const修饰的“成员函数”称之为const成员函数,const修饰类成员函数,实际修饰该成员函数隐含的this指针,表明在该成员函数中不能对类的任何成员进行修改。不可以,从const类型到非const类型是权限的放大,会报错。3. const成员函数内可以调用其它的非const成员函数吗?4. 非const成员函数内可以调用其它的const成员函数吗?1. const对象可以调用非const成员函数吗?2. 非const对象可以调用const成员函数吗?原创 2024-11-20 23:22:49 · 179 阅读 · 0 评论 -
【C++】初始化列表是什么?初始化列表有什么作用?我们必须要使用初始化列表吗?
在C++中,优先使用初始化列表来初始化自定义类型的成员变量,因为无论如何,成员变量总会在初始化列表中先被初始化。每个成员变量在列表中只能出现一次,意味着初始化不能重复。成员变量的声明顺序决定了其初始化顺序,而与初始化列表的顺序无关。对于类成员中的引用,必须通过初始化列表进行赋值,因其在定义时必须初始并且不可更改。直接赋值会导致引用对象多次修改,可能引发未定义行为,因此使用初始化列表能确保在对象创建时正确初始化引用对象,提高代码可读性和维护性。关于初始值,初始化列表的优先级最高,其次是成员变量声明时的原创 2024-11-19 11:22:37 · 2283 阅读 · 0 评论 -
【C++】类中的“默认成员函数“--构造函数出现的意义?拷贝构造时“无穷递归”和“双重释放”出现的原因?
在C++中,默认成员函数包括构造函数、析构函数和拷贝构造函数等。构造函数用于对象的初始化,系统会在对象创建时自动调用。每个类都有一个默认构造函数,如果用户定义了,则默认构造函数将不再生成。析构函数在对象销毁时调用,主要负责资源的清理。拷贝构造函数用于创建新对象时,将已有对象的值拷贝到新对象.定义,编译器将提供一个默认的拷贝构造函数。深拷贝和浅拷贝是拷贝构造中的重要概念,前者确保源对象和新对象独立,后者则可能导致两者之间的资源冲突。C++支持运算符重载,赋值运算符的重载可实现对象之间的复制和赋值。原创 2024-11-13 16:03:13 · 802 阅读 · 0 评论 -
【C++】隐含的“This指针“--this指针怎样使用?this指针占用空间吗?
C++中的this指针是一个指向当前对象的指针。在类的成员函数中,可以使用this指针来访问当前对象的成员变量和成员函数。this指针的使用可以简化代码,提高代码的可读性和可维护性,这点如果你学过Python的话可以类比Python中的self指针的调用,Python中的调用是显式的,C++中是隐藏起来的。但是实际中,调用函数会自动携带它,会隐藏起来,但是仍能够使用,this指针本质上是“成员函数”的形参,当对象调用成员函数时,将对象地址作为实参传递给this形参。所以对象中不存储this指针。,原创 2024-11-13 10:34:37 · 498 阅读 · 0 评论 -
【C++】结构体中的“内存对齐“现象
内存对齐概念辨析、内存对齐规则、底层逻辑缘由探究、(1)计算机读取规则的限制:、(2)计算机硬件层的限制:、①处理器特性、②内存构造与并行访问、③缓存一致性、④硬件平台限制、⑤内存碎片减少与空间优化原创 2024-11-12 15:44:00 · 1234 阅读 · 0 评论 -
【C++】概念引入二:内联函数、auto、范围for、nullptr
在早期C/C++中auto的含义是:使用auto修饰的变量,是具有自动存储器的局部变量,但遗憾的是一直没有人去使用它,大家可思考下为什么?C++11中,标准委员会赋予了auto全新的含义即:auto不再是一个存储类型指示符,而是作为一个新的类型指示符来指示编译器,auto声明的变量必须由编译器在编译时期推导而得。当在同一行声明多个变量时,这些变量必须是相同的类型,否则编译器将会报错,因为编译器实际只对第一个类型进行推导,然后用推导出来的类型定义其他变量。原创 2024-11-07 16:54:35 · 732 阅读 · 0 评论 -
【C++】初阶 [类] 和 [对象 (实例) ]
C++中类。C++中对象,C++中实例,C++中类的实例化,C++中类的作用域,C++中成员变量命名风格,C++中类中的访问限定符,什么是封装,C++入门,C++初阶原创 2024-04-08 22:46:53 · 1037 阅读 · 2 评论 -
【C++】概念引入一:[留提取留插入|缺省参数|关键字|重载|引用]
传引用传参(任何时候都可以使用)1、提高效率2、输出型参数(形参的修改,影响的实参)传引用返回(出了函数作用域对象还在才可以使用)1、提高效率2、修改返回对象。原创 2023-08-23 23:03:11 · 680 阅读 · 1 评论