自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 new与delete详解

new/delete申请和释放的是单个元素的空间,new[]和delete[]申请的是连续空间,而且new在申请空间失败时会抛异常,malloc会返回NULL。1. 调用operator new标准库函数申请空间,该函数分配一块足够大的,原始的,未命名的内存空间,以便存储特定的对象或对象的数组.因为一个指针8字节,A对象4字节.指针进行加减是跳过一个对象的大小,也就是4字节,所以我们a3-2就是存储10的地址.所以delete[]的元素个数是在new[]返回指针的前一个地址上面存储的.全局函数来申请空间,

2025-12-03 22:46:10 337

原创 C++多态详解2-动态多态

一个派生类对象包含多个组成部分:一个含有派生类自己定义的非静态成员的子对象,以及继承基类的子对象我们查看B对象内存。

2025-12-02 15:51:59 601

原创 C++多态详解1-静态多态

本文探讨了静态多态中的函数重载机制。在C语言中函数名必须唯一,而C++通过函数名+形参列表实现函数重载,编译器会生成不同的内部函数标识(如fii和fcc)。文章通过反汇编实验验证了重载函数的调用地址差异,并指出函数重载调用可能出现三种情况:最佳匹配、无匹配错误和二义性调用,这些问题同样存在于模板使用场景中。

2025-12-02 01:42:55 219

原创 MySQL数据类型

注意:关于无符号数值类型(超出范围与有符号同理)可以看到我们插入31成功, 插入32失败。2.1tinyint:我们先创建一张表。表示每个值的位数,范围从。1.MySQl数据类型。

2025-11-24 23:08:01 103

原创 linux之权限浅谈

1.引言在Linux操作系统中,"一切皆文件"这一核心理念贯穿了整个系统的设计。无论是普通文件、目录、设备、管道,还是网络套接字,在Linux中都被抽象为文件的形式进行处理。这种设计理念不仅简化了系统的操作接口,还提高了系统的灵活性和可扩展性。文件作为Linux系统中最基本的操作单元,由两个核心部分组成:文件内容和文件属性。文件内容是指文件中存储的实际数据,而文件属性则描述了文件的元数据信息,这些信息对于文件的管理和使用至关重要,今天我们谈谈文件属性中的权限方面。

2025-11-22 21:49:06 821

原创 List实现

因为是双向链表所以他的迭代器是一个Bidirection Iterator要支持++和--操作符的重载。对于list来说list和List中的节点是不同的结构需要分开设计。对于*的重载,我通过取值操作取List_Node 中的val.list的迭代器必须保证可以指向ListNode.我们可以通过->访问到List_Node内部信息.这种我们访问到T的内部成员(STL使用这种方式)由于是环形链表所以我们设置哨兵节点。对于->的重载,可以分为两种。这里我们设计成双向链表。2.list的迭代器。

2025-11-22 21:04:55 206

原创 Mysql表操作

本文介绍了MySQL数据库表的创建、修改和删除操作。创建表使用CREATE TABLE语法,可指定字段类型、字符集、校验规则和存储引擎,不同存储引擎会生成不同文件(如MyISAM生成.frm、.MYD、.MYI文件)。修改表通过ALTER TABLE实现,包括添加/修改/删除字段、修改表名和字段名等操作。删除表使用DROP TABLE命令。文章还展示了具体示例,如表创建时的字段注释、修改字段时的完整定义要求等,涵盖了数据库表管理的基本操作流程。

2025-11-21 14:53:49 321

原创 MySQL数据库操作与校验规则详解

本文介绍了MySQL数据库的基本操作,包括创建数据库、设置字符集和校验规则,以及数据库的查看、修改、删除、备份和恢复等操作。字符集和校验规则的选择会影响数据存储和查询结果。文章还详细说明了数据库备份的多种方式(整库/单表/多库)和恢复方法,并介绍了查看数据库连接情况的命令。通过具体代码示例和操作截图,帮助读者快速掌握MySQL数据库的核心管理功能。

2025-11-20 17:41:44 321

原创 C语言文件操作

我们程序的数据需要输出到各种外部设备,也需要从外部设备获取数据,不同的外部设备的输⼊输出 操作各不相同,为了⽅便程序员对各种设备进⾏⽅便的操作,我们抽象出了流的概念,我们可以把流想象成流淌着字符的河。这个结构体本质就是文件的一些属性的集合,比如我们向文件中进行IO操作,本质是从这个结构体内部的文件缓冲器(char *)也就是对字符串的操作,至于底层如何,不是我们今天讲的话题.而在磁盘中存储的便是文件,基于不同的视角我们可以把文件分成很多类.今天我们以写代码的角度,可以将文件分成1.程序文件,2.数据文件.

2025-11-20 16:56:43 809

原创 C++内联函数(inline)

在这里我编写了一个小函数 , 他的功能是比较两个string的长度, 返回长度较小的string的引用。如何声明为内联函数呢?只需在函数返回值的前面加上inline的关键词就行。将函数指定为内联函数,通常是在每一个函数的”调用点“上将其展开。例如上图shorter函数指点为内联函数,则会有如下调用。1.调用前要先保存寄存器, 并在返回是恢复。3.程序可能在函数中调用新的函数。2.可能需要拷贝实参。

2025-04-04 18:23:57 161

原创 C++入门基础篇

在C/C++中,变量,函数都是⼤量存在的,这些变量、函数的名称将都存在于全局作⽤域中,可能会导致很多冲突。在调⽤该函数时,如果没有指定实参则采⽤该形参的缺省值,否则使⽤指定的实参,缺省参数分为全缺省和半缺省参数。⽤inline修饰的函数叫做内联函数,编译时C++编译器会在调⽤的地⽅展开内联函数,这样调⽤内联函数就需要建⽴栈帧了,就可以提⾼效率。引⽤不是新定义⼀个变量,⽽是给已存在变量取了⼀个别名,编译器不会为引⽤变量开辟内存空间,它和它引⽤的变量共⽤同⼀块内存空间。半缺省就是部分形参给缺省值。

2025-01-25 20:18:38 524

原创 C语言中的结构体

结构是⼀些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量。

2024-09-21 19:38:35 475 1

原创 整数和浮点数在内存中的储存方式

我们知道数据是以二进制的方式在内存中存储的,对于不同的数据二进制的表示方式也会有所不同。

2024-09-20 14:47:14 872

原创 scanf和printf介绍

scanf和printf介绍

2024-09-01 18:54:53 1140

原创 C语言数据内置类型

C语⾔提供了丰富的数据类型来描述⽣活中的各种数据。使⽤整型类型来描述整数,使⽤字符类型来描述字符,使⽤浮点型类型来描述⼩数。所谓“类型”,就是相似的数据所拥有的共同特征,编译器只有知道了数据的类型,才知道怎么操作数据。

2024-08-29 23:38:59 914

原创 操作符详解(1)

算术操作符、赋值操作符、逻辑操作符、条件操作符和部分的单⽬操作符

2024-08-29 23:38:35 694

原创 c语言字符串函数模拟实现

字符串是一种重要的数据类型,但是C语言没有显式的字符串数据类型,字符串通过字符串常量或字符数组方式储存。C语言提供了许多与字符串相关函数,可以在头文件中查看函数声明

2024-08-24 14:03:07 950 1

空空如也

空空如也

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

TA关注的人

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