自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 C++类和对象(中)(构造、析构、拷贝、赋值重载、const成员函数)

方法一:提供get,set方法,细心的小伙伴应该已经发现,我在上面的例子中已经有使用get方法了。get、set方式,如果学过java的伙伴就比较熟悉了。方法二:友元(很下面会讲,马上就想知道的伙伴可以马上冲浪一下~~)。方法三;将这个定义在类外的函数重载成成员函数。前面不是说必须有一个类类型参数吗?这边怎么没有呢?在解释这个为什么之前我们讲一个别的东西。调用这个类型的函数的方式有两种(如下图)。

2024-05-20 23:19:50 1442

原创 C++类和对象(上)

/ 类体:由成员函数和成员变量组成// 一定要注意后面的分号class为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。类体中内容称为类的成员:类中的变量称为类的属性或成员变量;类中的函数称为类的方法或者成员函数。什么是类?比如人,这就是一个类;五官、四肢、躯干是人的属性(成员属性);这个人能干什么,会什么技能,是这个人的成员函数拥有上述相同属性和技能的人很多,可以具体到某个人,比如说王某明(也就是实例化出一个对象)

2024-05-12 20:07:34 584 1

原创 C++范围for循环

以往我们使用for循环都是这样的(上图)虽然已经很简单了,但是我们在对于一个有范围的集合而言,特意说明循环范围显得十分的多余,有时还会给错范围,导致错误。于是C++中引入了基于范围的for循环。for循环的括号由冒号“:”分成两个部分,第一个部分是范围用于迭代的变量,第二个部分则表示被迭代的范围。注意:与普通循环类似,可以使用continue来结束本次循环,也可以用break来跳出整个循环。

2024-05-06 23:38:12 274

原创 C++auto关键字

C++11中,标准委员会赋予了auto全新的含义即:auto不再是一个存储类型指示符,而是作为一 个新的类型指示符来指示编译器,auto声明的变量必须由编译器在编译时期推导而得。(typeid这个可以查看变量类型)使用auto定义变量时必须对其进行初始化,在编译阶段编译器需要根据初始化表达式来推到auto的实际类型。

2024-05-06 16:35:44 368

原创 C++内联函数

以inline修饰的函数叫做内联函数,编译时C++编译器会在调用内联函数的地方展开,没有函数调用建立栈帧的开销,内联函数提升程序运行的效率。没有使用内联函数调用函数的时候,在底层汇编有一个"call',表示对函数进行调用。(如下图所示)如果在上述函数前增加inline关键字将其改成内联函数,在编译期间编译器会用函数体替换函数的调用。

2024-05-04 17:34:00 304 1

原创 C++引用(超级无敌详细版)

但是如果执行“int& rd=d”的话,产生了一个临时变量的常量,常量的权限是只读不可写,但是此时rd的权限是可读可写,产生了权限放大的问题,所以出现了报错。(老婆饼,是一个美好的想象,感觉吃到了幸福,其实老婆饼不是老婆做的,老婆饼里面也没有老婆。因为例子中的a为常量,a的权限只读,而ra的权限是可读可写的,ra身为a的引用,权限不能比a大,产生了权限放大的问题,所以出错。例子中的x为常量,x的权限可读可写,z的权限是只读的,z身为x的引用,z权限没有比x大,所以运行成功。(在下图中,也是错误的,请注意)

2024-05-03 18:06:11 857

原创 C++函数重载

C语言没办法支持重载,因为同名函数没办法区分。而C++是通过函数修饰规则来区分,只要参数不同,修饰出来的名字就不一样,就支持了重载。(ps:如果对函数修饰规则有兴趣的话,可以再多多学习一下。如果对你有帮助的话,我深感荣幸~

2024-04-29 15:09:55 199

原创 c++中的缺省参数

缺省参数的概念缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数时,如果没有指定实 参则采用该形参的缺省值,否则使用指定的实参。缺省参数的分类1.全缺省参数2.半缺省参数注意:1. 半缺省参数必须从右往左依次来给出,不能间隔着给2. 缺省参数不能在函数声明和定义中同时出现3. 缺省值必须是常量或者全局变量4. C语言不支持(编译器不支持)如果帮助到你了,我会很开心o~欢迎指正批评!下次见~

2024-04-29 00:57:35 111

原创 C++输入&输出

② using namespace std展开,标准库就全部暴露出来了,如果我们定义跟库重名的类型/对 象/函数,就存在冲突问题。所以建议在项目开发中使用,像std::cout这样使用时指定命名空间 + using std::cout展开常用的库对象/类型等方式。早期标准库将所有功能在全局域中实现,声明在.h后缀的头文件中,使用时只需包含对应头文件即可,后来将其实现在std命名空间下,为了和C头文件区分,也为了正确使用命名空间,规定C++头文件不带.h;(不包含using namespace std;

2024-04-29 00:19:11 332 1

原创 c++命名空间

(一个工程中的test.h和上面test.cpp中两个wmm1会被合并成一个)

2024-04-27 23:10:37 384

原创 希尔排序——你真的会了吗?(排序系列二)

1. 希尔排序是对直接插入排序的优化。2. 当gap > 1时都是预排序,目的是让数组更接近于有序。当gap == 1时,数组已经接近有序的了,这样就 会很快。这样整体而言,可以达到优化的效果。我们实现后可以进行性能测试的对比。

2024-04-27 17:39:10 130

原创 插入排序的超详细解析!(排序系列一)

排序概念插入排序当插入第i(i>=1)个元素时,前面的array[0],array[1],…,array[i-1]已经排好序,此时用array[i]的排序码与 array[i-1],array[i-2],…的排序码顺序进行比较,找到插入位置即将array[i]插入,原来位置上的元素顺序后移1. 元素集合越接近有序,直接插入排序算法的时间效率越高2. 时间复杂度:O(N^2)3. 空间复杂度:O(1),它是一种稳定的排序算法4. 稳定性:稳定。

2024-04-27 00:27:26 277 1

原创 别看,浪费时间~你要是很闲的话,当我没说~

Hello,大家好,目前我是一名计算机的学习者。后续呢,会分享一些自己感觉有意思的东西,希望能得到大家的指点,也希望能给你帮助。一次简单的会面,相信后面的我们会经常遇见。

2023-10-10 22:40:15 24 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除