自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【C++】一篇文章搞懂命名空间与IO流输入输出

本文摘要:本章介绍C++的IO流和命名空间。内容包括命名空间的定义、使用方式(作用域解析、局部/全局访问)和嵌套规则;C++输入输出流cin/cout的特性(类型安全、链式调用)、与printf/scanf的差异、endl与缓冲区的关系;以及函数重载的判定条件和优势。附录对比了cout与printf的区别,讨论了宽/窄字符和运算符重载基础。

2026-01-19 11:19:17 119

原创 【C++】还在sizeof size strlen 傻傻分不清吗

本文系统解析C/C++中字符串处理的核心概念,对比sizeof、strlen、size()和length()的区别与适用场景。重点剖析'\0'结束符的作用、string类的内存结构,揭示常见误区并提供最佳实践方案。内容涵盖字符串访问规则、工具函数差异、内存布局解析等关键知识点,帮助开发者规避字符串处理陷阱,掌握正确的长度计算方法。通过理解底层原理和实际应用场景,提升字符串操作的准确性和效率。

2026-01-19 10:23:56 172

原创 string类:

在基础使用层面,明确了 string 类的命名空间依赖、头文件引入要求,详细说明 getline 输入方法的特性,以及字符串与数值的双向转换规则,同时指出常见编译错误及修正方式。针对实例化与析构,梳理了无参、有参、拷贝等多种构造形式及自动析构的特性。        核心操作部分,系统讲解了字符串截取、符号重载机制,以及下标、迭代器(正向、反向、const)、范围 for 等多种遍历方式,其中重点介绍了迭代器的通用特性与 auto 关键字的优化用法。

2025-10-18 10:30:07 749 1

原创 Static成员初始化与友元

本文探讨了C++中友元关系和静态成员的特性。友元能访问宿主类的所有成员,但宿主无法感知友元的存在,这种单向关系类似于寄生。静态成员必须在类外初始化,且初始化位置决定了访问权限:公有静态成员可直接调用,私有静态成员虽可初始化但受访问限制。静态成员函数没有this指针,只能访问静态成员。友元函数虽能访问类私有成员,但并非类成员函数,无法通过类实例调用。文中通过代码示例展示了这些特性的具体应用和限制。

2025-09-30 00:37:06 326

原创 C++内存管理:从变量储存到new/delete 底层原理

本文深入剖析C/C++内存管理,从内存区域划分入手,解析变量存储位置(栈、堆、静态区等),重点对比数组名与指针的本质区别。详细讲解const与指针的三种组合、字符串的两种创建方式,以及strlen与sizeof的核心差异。深入探讨new/delete与malloc/free的底层实现差异,包括初始化机制、异常处理等。特别指出常见错误(如new[]与delete搭配错误)和高级用法(定位new),帮助开发者规避内存管理陷阱,提升程序稳定性与性能。

2025-09-30 00:20:11 662

原创 static I 友元 I内部类 I 匿名对象

《C++进阶特性解析》摘要:本文系统梳理了C++五大核心特性:1.静态成员(共享变量/函数、存储生命周期、析构顺序);2.友元机制(函数/类实现封装突破);3.内部类(嵌套结构与默认友元关系);4.匿名/临时对象(生命周期与使用场景);5.拷贝优化(编译器对连续构造的优化策略)。重点剖析了静态成员的"类共享"特性、友元关系的单向性、内部类的空间独立性,以及编译器如何优化对象构造过程。通过典型代码示例,揭示了各特性的底层原理与应用边界,为深入理解C++面向对象机制提供系统指导。

2025-09-14 21:27:07 859

原创 C++ 初始化列表 I 类型的隐形转换

本文总结了C++中初始化列表和类型转换的核心要点。初始化列表是成员变量的定义处,必须用于引用、const成员和无默认构造的成员,初始化顺序遵循声明顺序。类型转换分为隐式转换(需相关构造函数)和显式转换(explicit禁止隐式),临时对象具有匿名、短暂特性,只能被const引用绑定。两者都涉及类的构造机制,是控制对象创建和转换的关键技术。

2025-09-14 21:06:47 305

原创 C++符号重载

C++运算符重载是自定义类对象运算行为的特殊函数,遵循以下核心规则:1.函数名由operator加运算符构成;2.至少包含一个类类型参数;3.不可改变运算符优先级和结合性。实现方式分为成员函数(隐含this指针)和全局函数(常需友元声明),特殊运算符如++需区分前置(返回引用)和后置(返回临时对象)。赋值运算符必须作为成员函数重载,并注意自赋值检查。关键点包括:成员函数指针调用需注意括号、后置++需保存原状态、全局重载需处理私有访问权限。设计时应遵循语义直观、效率优先原则,按需为类重载有意义的运算符。

2025-09-11 18:03:38 832

原创 类的默认成员函数

C++类默认成员函数核心总结:编译器会自动生成6种默认成员函数(构造函数、析构函数、拷贝构造、赋值运算符重载及取地址重载)。重点在于:1)无资源管理类(如仅含基本类型)可使用默认实现;2)资源管理类(涉及动态内存等)必须手动实现关键函数(构造/析构/拷贝构造)以避免资源泄漏。特别注意:构造函数需区分默认构造的三种形式(无参/全缺省/编译器生成),拷贝构造必须使用const引用参数防止递归调用,析构函数需确保资源正确释放。取地址重载通常无需修改,除非特殊需求。

2025-09-11 16:44:49 1022 2

原创 类和对象:初来乍到 类的实例化 I 方法声明定义分离 I 访问限定符

本文摘要:C++类特性解析,重点包括:1)类定义基本语法,成员变量与方法命名惯例;2)struct在C++中的升级,支持函数定义且无需typedef;3)成员函数定义位置影响(inline/非inline),类内定义默认内联;4)多文件组织建议,头文件声明与源文件定义分离。通过Cat类示例展示实例化与成员访问方式,对比C/C++结构体差异,强调类定义结尾分号的重要性。

2025-09-11 15:26:37 412

原创 inline 与 nullptr

inline 函数是 C++ 中对 C 宏函数的优化替代,直接在调用处展开以避免函数调用开销,适合短小高频调用的函数,但编译器可自行决定是否展开。宏函数通过简单文本替换实现,缺乏类型安全和作用域控制,易引发错误。C++ 引入 nullptr 取代 NULL,避免因 NULL 可能被视为 0 导致的重载问题。

2025-09-10 00:50:09 525

原创 函数栈帧—复习手稿

本篇主要内容:是对于函数如何在栈中建立和变量、函数的调用的部分敞述……

2025-09-07 00:18:03 204

原创 【C++】缺省参数和引用解释

引用 I 缺省参数 I 宏函数 I 缺省参数 I 引用与单引用 I 引用与指针

2025-09-04 19:52:07 171

原创 C++三大“救世主“登场 命名空间 I IO流 I 函数重载

命名空间 I IO流 I 函数重载

2025-09-02 22:14:00 856

原创 [特殊字符]顺序表专题【typedef最帅的操作】【memmove现身】

摘要:本文深入探讨顺序表这一基础数据结构,揭示其作为算法效率基石的核心价值。重点解析动态顺序表实现中的关键问题:1)初始化与销毁时的指针陷阱与防御性编程;2)动态扩容策略(2倍增长)与realloc安全使用技巧;3)增删操作的时间复杂度与实现细节(如memmove优化);4)常见陷阱包括迭代器失效、空指针防护等。通过完整代码示例(如SLPushBack函数),展示了工程实践中顺序表的核心实现逻辑与优化要点,为开发者提供超越教科书级别的实战经验。

2025-08-07 17:40:48 415

空空如也

空空如也

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

TA关注的人

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