自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++ string 类详解:从常用接口到深拷贝,彻底掌握字符串处理

本文系统介绍C++中string类的使用,对比C语言字符串的局限性,阐述string在构造、容量、访问与修改等方面的便捷性。结合C++11新特性auto与范围for,提升代码简洁性,并通过算法实践深化对双指针、字符统计及深拷贝原理的理解,助力初学者高效掌握字符串处理核心技能。

2026-11-06 05:30:00 164 4

原创 C++ STL 入门详解:从认识标准模板库到掌握学习方法

本文系统介绍C++ STL(标准模板库)的核心内容,涵盖其概念、发展历程及六大组件:容器、算法、迭代器、函数对象、适配器与分配器。通过实例展示STL如何提升编程效率,减少重复造轮子。强调学习STL应注重组件间协作关系,推荐以可读性佳的SGI版本为学习参考,助力初学者高效掌握数据结构与算法应用,为笔试、面试及项目开发打下坚实基础。

2026-11-04 00:45:00 703 31

原创 C++ 模板初阶详解:从函数模板到类模板,彻底理解泛型编程

本文介绍了C++中模板的核心概念——泛型编程,通过函数模板实现代码复用。以交换函数为例,展示如何用template<typename T>编写通用逻辑,支持int、double、char等多种类型,避免重复代码。详解了模板参数推导、隐式/显式实例化机制,并说明typename与class在模板中的等价性。强调模板是编译时生成具体函数的蓝图,提升代码灵活性与可维护性,是掌握标准库的基础。

2026-11-02 04:15:00 493 7

原创 C++ 内存管理详解:从 malloc/free 到 new/delete

C++ 内存管理详解:从 malloc/free 到 new/delete

2026-10-31 07:00:00 436 32

原创 C++类与对象的7大核心误区解析

C++类与对象的7大核心误区解析

2026-10-29 19:15:18 327 56

原创 C++ 类和对象(中):六大默认成员函数与深浅拷贝详解

C++ 类和对象(中):六大默认成员函数与深浅拷贝详解

2026-10-28 10:16:17 362 57

原创 Linux 网络编程:从零掌握 TCP Socket 编程(附 C++ 实战)

Linux 网络编程:从零掌握 TCP Socket 编程(附 C++ 实战)

2026-10-20 21:58:03 810 73

原创 C++ 网络编程入门:从零实现 UDP 通信、网络字典与简易聊天室

C++ 网络编程入门:从零实现 UDP 通信、网络字典与简易聊天室

2026-10-12 20:33:29 705 79

原创 C++ 面向对象编程入门:类和对象(上)

C++ 面向对象编程入门:类和对象(上)

2026-10-11 16:32:28 722 46

原创 C++ 入门基础详解:从第一个程序到核心语法特性

C++ 入门基础详解:从第一个程序到核心语法特性

2026-10-10 13:34:43 384 30

原创 【QT】从零认识 Qt:跨平台 C++ GUI 开发入门

从零认识 Qt:跨平台 C++ GUI 开发入门

2026-10-08 16:52:11 1067 29

原创 从 0 到 1 理解计算机网络:从网络基础到 Socket 编程

从 0 到 1 理解计算机网络:从网络基础到 Socket 编程

2026-10-05 09:38:07 1023 38

原创 【Linux】Ext系列文件系统(磁盘级文件)

Linux文件系统

2026-10-01 10:49:56 466 31

原创 【Linux】网络基础概念

Linux网络基础

2026-09-27 20:53:17 2123 38

原创 从互斥到线程池:C++ 多线程同步与互斥实战笔记

从互斥到线程池:C++ 多线程同步与互斥实战笔记

2026-09-17 14:39:40 441 37

原创 从虚拟内存到 pthread:Linux 线程概念与控制全解析

从虚拟内存到 pthread:Linux 线程概念与控制全解析

2026-09-16 11:38:36 600 28

原创 Linux进程信号全解析:从原理到实战打通进程控制核心

Linux进程信号全解析:从原理到实战打通进程控制核心

2026-09-09 10:09:27 334 34

原创 【Linux】基础IO(内存级文件)

Linux基础IO

2026-09-04 12:07:45 399 26

原创 【Linux】进程控制

对进程的控制

2026-08-14 20:12:11 591 25

原创 【Linux】环境变量和程序地址空间

对Linux中的环境变量和程序地址空间做理解

2026-08-09 22:47:36 338 15

原创 【Linux】对进程的理解

对进程的解释

2026-07-31 22:41:58 1011 15

原创 【Linux】基础开发工具

对编译器gcc/g++以及自动化构建-make/Makefile的解释

2026-07-29 18:07:15 308 12

原创 【Linux】基础开发工具Vim

Linux基础开发工具-----Vim的介绍

2026-07-28 20:30:04 279 9

原创 【Linux】对Linux的理解及基础指令

Linux基础指令

2026-07-26 16:08:33 238 13

原创 【Linux】初识Linux

主要介绍了Linux的由来

2026-07-25 22:26:14 228 4

原创 【C++】string类

string类

2026-02-12 00:32:34 612 10

原创 【C++】内存管理

C/C++内存管理

2026-02-10 20:07:39 606 14

原创 【C++】类和对象(下)

类和对象(下)

2026-02-06 23:03:56 534 11

原创 【C++】类和对象(中)

像Stack这样的类,虽然也都是内置类型,但是_a指向了资源,编译器⾃动⽣成的拷⻉构造完成的值拷⻉/浅拷⻉不符合我们的需求,所以需要我们⾃⼰实现深拷⻉(对指向的资源也进⾏拷⻉)。⑥传值返回会产⽣⼀个临时对象调⽤拷⻉构造,传值引⽤返回,返回的是返回对象的别名(引⽤),没有产⽣拷⻉。③没有显式实现时,编译器会⾃动⽣成⼀个默认赋值运算符重载,默认赋值运算符重载⾏为跟默认拷⻉构造函数类似,对内置类型成员变量会完成值拷⻉/浅拷⻉(⼀个字节⼀个字节的拷⻉),对⾃定义类型成员变量会调⽤他的赋值重载函数。

2026-01-31 22:17:17 570 7

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

类和对象(上)

2025-12-12 13:39:15 872 16

原创 【C++】入门基础

C++入门基础

2025-12-09 19:15:19 658 14

原创 动态内存管理详解

与函数malloc的区别只在于calloc会在返回地址之前把申请的空间的每个字节初始化为0.所以如果我们对申请的内存空间的内容要求初始化,那么可以很方便的使用calloc函数来完成任务。在这种情况下,原有空间之后没有足够多的空间时,扩展的方法是:在堆空间上另找一个合适大小的连续空间来使用。有时我们会发现过去申请的空间太小了,有时我们又会觉得申请的空间过大了,那为了合理的使用内存,我们一定会对内存的大小做灵活的调整。如果参数ptr指向的空间不是动态开辟的,那free函数的行为是未定义的。

2025-10-25 19:12:11 410 10

原创 结构体详解

如果我们能保证将所有的double类型的数据的地址都对齐成8的倍数,那么就可以用一个内存操作来读或者写值了。4,如果出现嵌套结构体的情况,嵌套的结构体成员对齐到自己的成员中最大对齐数的整数倍处,结构体的整体大小就是所有最大对齐数(含嵌套结构体中成员的对齐数)的整数倍。原因:函数传参的时候,参数是需要压栈的,会有时间和空间上的系统开销。如果传递一个结构体对象的时候,结构体过大,参数压栈的系统开销比较大,就会导致性能的下降。(结构体中每个成员变量都有一个对齐数,所有对齐数中最大的)的整数倍。

2025-07-26 14:06:14 366 4

原创 初步了解C语言数据类型

C语言原来并没有为布尔值单独设置一个类型,而是使用整数0表示假,非0值表示真。所谓“类型”,就是相似的数据所拥有的共同特征,编译器只有知道了数据的类型,才知道怎么操作数据。像结构体一样,联合体也是由一个或者多个成员构成,这些成员可以不同的类型。联合体的特点是所有成员共用同一块内存空间,所以联合体也叫。结构是一些值的集合,这些值称为成员变量。结构的每个成员可以是不同类型的变量,如:标量,数组,指针,甚至是其他结构体。给联合体其中一个成员赋值,其他成员的值也跟着变化。二,内置数据类型长度。

2025-07-19 17:46:06 488 4

原创 数据在内存中的存储

同时,加法和减法也可以统一处理(CPU只有加法器),此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。对于64位的浮点数(double),最高的1位存储符号位S,接着的11位存储指数E,剩下的52位存储有效数字M。对于32位的浮点数(float),最高的1位存储符号位S,接着的8位存储指数E,剩下的23位存储有效数字M。两部分,在二进制序列中,最高那一位是被当做符号位,剩余的都是数值位。,而数据的高位字节内容,保存在内存的低地址处。,而数据的高位字节内容,保存在内存的高地址处。

2025-07-18 16:55:38 371 3

原创 C语言指针详解

同理,在计算机中,我们想要快速在内存中找到指定的数据,需要给每个内存单元编号(相当于门牌号),有了这个内存单元的编号,CPU(中央处理器)就可以快速找到一个内存单元。n在C语言中被称为常变量,常变量的意思是,n的本质是变量,但是不能被修改,即具有常属性的变量。const如果放在*的左边,修饰的是指针指向的内容,保证指针指向的内容不能通过指针来改变,但是指针变量本身的内容可变。const如果放在*的右边,修饰的是指针变量本身,保证了指针变量的内容不能修改,但是指针指向的内容,可以通过指针改变。

2025-07-11 19:20:18 6084 24

原创 C语言函数递归

函数不返回,函数对应的栈帧空间就一直占用,所以如果函数调用中存在递归调用的话,每一次递归函数调用都会开辟属于自己的栈帧空间,直到函数递归不再继续,开始回归,才逐层释放栈帧空间。所以如果采用函数递归的方式完成代码,递归层次太深(递归函数调用次数太多),就会浪费太多的栈帧空间,也可能引起栈溢出的问题。1.递归存在限制条件,当满足这个限制条件的时候,递归便不再继续。上述的Fact函数可以产生正确的结果,但是在递归函数的调用的过程中涉及一些运行时的开销。上述代码也可以完成求n的阶乘,并且效率比递归的更高。

2025-04-22 20:11:03 474 4

wx_camera_1772598742650.jpg

wx_camera_1772598742650.jpg

2026-03-04

空空如也

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

TA关注的人

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