自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++之奇妙特性

为了满足不同的需求,一个类中可能会重载多个构造函数。委托构造就是在一个构造函数的初始化列表中调用另一个构造函数。移动语义能够缓解深拷贝带来的没有意义的资源资源申请和释放(前提是被拷贝的对象的临时对象,拷贝完就没啥用了,若函数参数不加引用,移动语义就很有必要,因为都是临时对象)(2)不要在初始化列表中列表中初始化其他的成员变量 (初始化只有一次,都委托出去了还整啥)c++11引入了继承构造,在派生类中使用using关键字来声明继承基类的构造函数。初始化列表为c++11新增的,可用于可变数量函数参数传参。

2023-04-13 10:41:56 94

原创 C++之文件操作

ios:: app 不截断文件内容,只在文件末尾追加文件。读取,其中49表示每次getline读取字节的最大数,跟缓冲区空间相关!的getline()方法按行读取,只要返回不为空,就一直循环读入。类:ofstream (output file stream)ios::out 缺省值:会截断文件内容。ios::trunc 截断文件内容。ofstream需要的头文件。(3)类似cin,最简洁!在这里读取文件有三种方法。

2023-04-12 11:53:20 90

原创 C++之智能指针

智能指针unique_ptr(有explicit关键字修饰构造函数,不能通过赋值语句创建智能指针对象,故而通过函数参数传递时,只能用函数指针的引用传递)new 返回的是对象的地址 ,通过赋值语句创建对象一般用的是拷贝构造函数。release()方法释放对原始指针的控制权(负责)move()方法可以转移对原始指针的控制权(负责)仿函数(用作回调函数)一般用结构体实现?get()方法返回裸指针(不负责)该指针独享它指向的对象。

2023-04-11 21:31:53 100

原创 C++之模板类

【代码】C++之模板类。

2023-04-06 21:58:13 45

原创 C++之函数模板

用法:推荐类模板用class,函数模板用typename,目前都兼容注意:使用函数模板时,必须明确函数类型(编译器自动推导或手动指定),确保实参与函数模板能匹配上,手动指定如下:但若手动指定类型与实际数据类型不匹配,在编译阶段也会报错!

2023-04-06 21:06:41 27

原创 C++之类继承的内存分析

创建派生类对象,先调用基类的构造函数,再调用派生类的构造函数销毁派生类对象时,先调用派生类的析构函数,再调用基类的析构函数创建派生类对象时只会申请一次内存,派生类对象包含了基类的内存空间,this指针是相同的。创建派生类对象时,先初始化基类对象,再初始化派生类对象重载new delete关键字cout

2023-04-03 21:09:52 218

原创 C++之重载new、delete关键字

本质是按需使用C语言中的malloc和delete函数。

2023-04-02 23:41:17 238

原创 C++之引用

引用是指针常量的伪装,是常量指针,和动态分配内存没有关系,引用的本质是指针,使用引用可减少内存拷贝!!!

2023-04-02 13:08:03 28

原创 C++之结构体

如下,由于存在内存对齐,故而结构体所占内存一般大于其成员变量所占内存之和!,使用# pragma pack(1)可使得不填充字节,故而所占内存与理论分析一致!# pragma pack的缺省值为8。运行结果:其中double占8个字节,int占4个字节,char占1个字节,所占内存为13字节,与计算一致!

2023-03-31 20:46:06 39

原创 C++之数组操作

在这里使用了回调函数,可提供定制化的排序服务,如图,其中void*接受任意类型指针,不能直接解引用,必须强制转换类型!字符串的结尾标志是0(空字符),在处理字符串的时候,会从起始位置开始搜索0,一直搜索下去,找到为止,一维数组的数学概念是线性表,二维数组的数学概念是矩阵。本质上,二维数组的内存空间是一维连续的,作用:主要用于二维数组做为函数的参数,传递时使用,适用性有限,且有替代方案。运算符,不然只能得到8个字节的输出(指针类型变量的比特大小)释放内存,delete释放的是第0个元素的内存空间!

2023-03-30 22:31:37 170

原创 C++学习

(1)指针变量占用8个字节,故而用十进制展示时,类型强制转换为 long long。(2)变量和指针都可以达到操作内存的目的,通过对指针变量使用,可以得到该地址的内存中存储的值。(3)指针变量需要定义数据类型的原因:起始地址决定了位置。数据类型决定了占用内存的大小,决定了如何操作数据。(4)通过对取sizeof运算,可得到指针变量指向的目标数据的数据类型。

2023-03-29 10:58:33 66 1

空空如也

空空如也

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

TA关注的人

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