自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(100)
  • 问答 (2)
  • 收藏
  • 关注

原创 【C++11】RAII 义体加装指南 ——【包装器 与 异常】C++11中什么是包装器?有哪些包装器?C++常见异常有哪些?(附带完整代码讲解)

本文介绍了C++11中的两个重要包装器工具:std::function和std::bind。std::function是一个通用的可调用对象包装器,能够统一处理函数指针、lambda表达式、仿函数等不同类型的可调用对象,实现类型擦除功能。文章通过代码示例展示了如何使用std::function包装各种类型的函数,并说明了其底层开销。 std::bind则是一个参数绑定器,可用于参数绑定、顺序调整和成员函数转换。文章详细介绍了bind的语法格式,并通过示例代码演示了参数绑定和参数顺序调整的用法

2026-04-18 17:15:06 7715 137

原创 【C++11】Cyber零度逻辑的二进制余烬 ——【 lambda 与 C++11 STL中⼀些变化 与 仿函数】C++11后 STL 容器发生了哪些变化?Lambda表达式该怎么用?底层原理是什么?

本文介绍了C++11引入的Lambda表达式及其语法结构。主要内容包括: STL容器变化:C++11新增基于哈希表的unordered_map和unordered_set,提供O(1)时间复杂度操作 仿函数概念:通过重载operator()使类实例可像函数一样调用 Lambda表达式: 完整语法:捕获列表可选说明符→返回类型{函数体} 捕获方式:值捕获(复制)和引用捕获(直接操作外部变量) mutable关键字:允许修改按值捕获的变量副本 示例代码演示了Lambda的实际应用,包括捕获外部变量、修改副

2026-04-15 23:14:50 345 2

原创 【C++11】Cyber骇客的覆写协议与基因锁 ——【C++11 新增的类的功能】C++11中新增的类的功能有哪些?有什么变化?此文助你破局!!!

这篇文章深入解析了C++11中移动语义的核心机制,重点探讨了编译器自动生成移动操作的严格条件与使用技巧。主要内容包括: 默认移动操作对内置类型和类类型成员的不同处理方式 编译器自动生成移动操作的"五法则"限制条件 通过=default强制生成移动操作的方法 使用=delete禁止移动语义的场景 析构函数等特殊成员对移动语义生成的影响 文章采用赛博朋克风格的排版,通过代码示例展示了移动语义的优化效果及退化情况,为C++开发者提供了清晰的移动语义实践指南。

2026-04-14 21:24:54 409

原创 【一天一个计算机知识】Cyber骇客对数据流的 算力操纵与指令集 ——【<algorithm>头文件】从算法的出处和算法的角度带你解读<algorithm>的内容与机制

本文系统介绍了C++标准库中的<algorithm>头文件在算法竞赛中的核心应用。主要内容包括: 迭代器基础:解释算法操作的区间表示法[first, last)原则 四大高频核心算法: std::sort排序(支持自定义比较规则) std::reverse反转容器/字符串 std::swap交换值(C++11后移至<utility>) std::find/std::count查找统计 典型应用场景: 字符串反转处理 容器元素排序与部分反转 快速查找特定元素 这些算法通过迭

2026-04-13 21:55:32 575 32

原创 【一天一个计算机知识】——【如何在VS中配备万能库】一文带你如何在 VS 入手<bits/stdc++.h>

万能头文件指南 本文详细介绍了在Visual Studio中手动添加GCC编译器特有万能头文件<bits/stdc++.h>的方法: 定位include目录:找到VS安装路径下的MSVC编译器include文件夹 创建bits子目录:在include文件夹内新建bits文件夹 添加头文件:创建stdc++.h文件并写入兼容MSVC的代码 测试验证:通过简单的vector排序程序验证配置成功 操作步骤包含完整的路径说明和注意事项,

2026-04-12 17:06:35 388 11

原创 【C++11】Cyber解构参数流的 无限增生 ——【可变参数模板 与 emplace系列接口】编译器如何面对乱码般的数据流进行“逻辑拆解”?可变参数模板为你量身定制逻辑!!

这篇文章介绍了C++11引入的可变参数模板的使用方法。主要内容包括: 基本语法:使用typename... Args定义模板参数包,Args... args定义函数参数包,通过省略号...表示可变参数。 参数包操作: 使用sizeof...获取参数个数 两种展开参数包的方法: 递归模板函数:处理第一个参数后递归处理剩余参数 初始化列表展开:利用逗号表达式和初始化列表一次性展开所有参数 实际应用示例:展示了如何实现可变参数的打印功能,通过递归和初始化列表两种方式演示参数包的展开过程。 文章重点讲解了可变参数模

2026-04-12 16:38:23 359

原创 【OpenClaw修炼宝典】——【Windows安装篇】想玩《爪子船长》复刻版却卡在安装?OpenClaw 从零环境搭建与编译全攻略 (小白避坑指南)

本文为零基础用户提供OpenClaw AI助手的安装教程。OpenClaw是一款开源可自托管的个人AI智能体,可对接多种大语言模型和聊天平台,具备文件操作、代码管理等技能。教程推荐使用npm安装方式,需先安装Node.js和git工具。详细步骤包括:下载Node.js安装包、检查安装成功、设置执行策略权限等。文章强调安全使用,建议初学者在虚拟机或闲置设备上部署,并提供了相关官网和下载链接。教程将持续更新进阶功能配置方法。

2026-04-11 23:15:42 632

原创 【C++11】Cyber骇客的 亡骸剥离与右值重构 ——【右值引用 与 移动语义】(附带完整代码解析)

C++中左值与右值的核心概念,重点解析了左值引用和右值引用的区别与应用场景。左值引用(T&)绑定左值,右值引用(T&&)绑定临时对象,可延长其生命周期。文章深入探讨了移动语义的实现原理,包括移动构造函数和移动赋值运算符如何通过"资源转移"而非拷贝来提升性能。通过对比传统拷贝语义与移动语义的差异,展示了如何避免不必要的深拷贝操作,从而优化内存管理效率。最后提供了参数匹配示例和代码实现,帮助理解不同引用类型的重载规则。 关

2026-04-09 22:55:13 9908 40

原创 【C++ 11】Cyber骇客 最后的一片净土 ——【列表初始化{}】(附带完整代码解析)

本文介绍了C++11引入的列表初始化特性,重点分析了其如何解决C++98中的初始化混乱问题。主要内容包括: C++98初始化方式的弊端:不同类型需要不同初始化语法(等号、括号、大括号等),导致学习成本高且模板编程困难。 C++11的统一初始化方案:通过大括号{}实现一致的初始化语法,支持基本类型、数组、结构体、STL容器等多种场景。 initializer_list机制:详细解释了std::initializer_list的工作原理,它通过指针标记初始化列表范围,并提供size()、begin()、end(

2026-04-07 23:29:07 6301 25

原创 【C++ 11】Cyber骇客 最后的一片净土 ——【C++11的 简单介绍 + 发展历史】历史唯物主义者带你理顺C++发展的由来

C++11作为现代C++的里程碑,通过auto类型推导、Lambda表达式、移动语义等核心特性实现性能与易用性的双重突破。学习路径涵盖:语法提效(auto/范围for)、资源管理(智能指针)、性能优化(右值引用/完美转发)、并发编程(多线程库)及泛型进阶(变参模板/constexpr)

2026-04-06 16:58:13 357 1

原创 【C++ 进阶】Cyber霓虹掩体下的代码拟态——【面向对象编程 之 多态】一文带你搞懂C++面向对象编程中的三要素之一————多态!

本文深入解析C++多态机制,涵盖基本概念、分类(编译时/运行时多态)、虚函数原理及多态构成条件。重点对比了隐藏(Hiding)与重写(Override)的区别,并通过代码示例展示隐藏现象。最后剖析多态底层实现,解释虚函数表指针(vptr)的内存布局及其对类大小的影响(32/64位环境下指针占4/8字节),演示包含虚函数的类对象内存对齐规则。全文结合技术图示与表格对比,系统化呈现多态核心知识体系。 关键词:多态、虚函数、重写、隐藏、虚函数表、内存对齐

2026-04-05 16:42:50 432 15

原创 【C++ 进阶】Cyber穿透静态代码的幻影协议——【虚函数】

C++虚函数是实现多态的核心机制,通过动态绑定在运行时确定调用的函数。非虚函数使用静态绑定,基类指针调用派生类方法时无法体现派生特性。虚函数通过虚函数表(vtable)和虚指针(vptr)实现,vtable存储类虚函数指针,vptr指向vtable实现动态调用。析构函数必须声明为虚函数以确保多态删除时正确调用派生类析构函数,避免内存泄漏。编译器将析构函数统一处理为destructor名称,派生类析构函数会自动重写基类虚析构函数。使用override关键字可明确标识重写关系,提高代码安全性。

2026-04-05 15:21:36 578 27

原创 【C++进阶】Cyber骇客的赛博血统上传——【面向对象之 继承 】一文带你搞懂面向对象编程的三要素之————继承

C++继承机制深度解析,涵盖三大核心知识点:1)继承基本语法与权限控制矩阵,明确不同继承方式下成员访问级别的变化规则;2)模板与继承的结合应用,重点分析类模板继承类模板时的两阶段名字查找机制及解决方案(推荐使用this->);3)基类与派生类转换原理,通过虚析构函数实现安全的多态操作。文章提供完整代码示例,揭示继承体系中的常见陷阱与最佳实践,特别强调模板继承时必须显式指明父类成员的访问方式,为面向对象编程提供关键技术指导。

2026-04-02 23:34:19 604 37

原创 【C++模板进阶】——【非类型模板参数 / 模板的特化 / 模板分离编译】

本文深入探讨C++模板编程的两个重要特性:非类型模板参数和模板特化。非类型模板参数允许在编译期指定常量值,用于创建固定大小的数组等场景。

2026-03-29 18:52:26 3157 8

原创 【OpenClaw修炼宝典】—— 【macOS安装篇】想玩《爪子船长》复刻版却卡在安装?OpenClaw 从零环境搭建与编译全攻略 (小白避坑指南)

macOS安装OpenClaw简明教程 本文提供macOS用户安装OpenClaw的详细步骤指南,适合无编程基础的小白用户。 安装准备 检查并安装必要工具: 安装Homebrew:终端输入/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 安装Node.js:brew install node 安装OpenClaw 终端执行安装命令:curl -fs

2026-03-28 16:29:51 3163 3

原创 【 C++ 入门】Cyber骇客的非线性存储映射集 ——【list 容器】list如何使用?原理是什么?Cyber骇客带你全解!

list 是 C++ STL 中的双向链表容器,具有以下核心特性: 高效插入/删除:任意位置操作时间复杂度为 O(1) 非连续存储:通过指针链接节点,不支持随机访问 双向迭代:支持前向/后向遍历,但迭代器属于双向迭代器 主要接口包括: 构造函数:支持指定数量初始化、迭代器区间构造等 迭代器:提供 begin/end 和 rbegin/rend 双向遍历能力 容量操作:empty()

2026-03-27 22:50:57 2483 27

原创 【C++ 入门】Cyber动态义体——【vector容器】vector底层原理是什么?该怎么使用他?一文带你搞定所有问题!!!

本文介绍了C++ STL中的vector容器,重点讲解其核心特性与使用方法。主要内容包括:vector作为动态数组的特点(连续存储、自动扩容、高效尾部操作);四种构造方式(无参构造、指定数量初始化、拷贝构造、迭代器区间构造);迭代器使用(正向/反向遍历)。文章通过代码示例演示了vector的声明、初始化和遍历操作,强调其与普通数组的区别在于动态大小调整能力。最后还提供了作者相关资源链接和CSDN博客入口。

2026-03-23 22:42:04 2974 46

原创 【C++算法刷题营地】—— 【string类面试题】Cyber顶级骇客带你速刷 C++ string类 中的常见算法题

本文围绕字符串与数值转换展开,包含两个核心算法: 字符串转整数:通过逐字符解析处理符号、溢出及非法输入,时间复杂度O(n),空间O(1)。对比了手动实现与C++的stoi接口差异,并补充了整数转字符串的递归解法。 字符串相加:模拟竖式加法,从末位逐位相加并处理进位,适用于大数运算。文中强调边界条件(如前导空格、溢出)的处理技巧,并提供优化建议(如常量引用、提前溢出判断)。代码示例均附关键注释,适合面试刷题与工程实践参考。 (字数:149)

2026-03-08 22:36:04 3360 42

原创 【C++面试题】—— 【string类的模拟实现】骇客视角带你解析如何写出高效的 string 类面试题

简洁高效的C++ String类实现 本文实现了一个简洁高效的C++ String类,满足基本字符串操作需求,并符合现代C++规范。 核心设计 单一数据成员:仅使用char* _data存储字符串,保证始终以'\0'结尾 资源管理:完整实现构造、析构、拷贝构造和赋值操作(Big Three) 高效操作:使用swap技术实现异常安全的赋值操作 关键实现 class String { public: // 默认构造 String() : _data(new char[1]) { *_data = '\0'; }

2026-03-03 16:25:25 1071 20

原创 【一天一个计算机知识】—— 【头文件<utility>】

摘要 本文深入解析了C++标准库头文件<utility>的核心组件及其应用场景。重点内容包括: std::pair:用于存储异构数据对,支持结构化绑定(C++17)和std::make_pair自动类型推导; std::swap:高效交换对象值,支持自定义优化实现; 移动语义工具: std::move:将左值转为右值引用,触发资源移动; std::forward:配合万能引用实现完美转发,保持参数值类别; C++20安全比较:如std::cmp_equal提供类型安全的整数比较

2026-03-03 00:04:15 883 18

原创 【 C++ 入门】Cyber骇客的 流式文本序列处理器 —— 【 string 类】万字大文带你从0学好C++的string类!

本文介绍了C++标准库中的string类及其使用方法,重点讲解了auto关键字的特性与应用场景。string类解决了C语言字符串操作的痛点,需包含<string>头文件并使用命名空间std。auto关键字的核心功能是自动类型推导,但使用时需注意:必须初始化变量、引用类型需加&、多变量声明需类型一致、不能用于函数参数或数组声明。文章还提供了字符串相关面试题链接,并展示了auto在指针、引用及数组场景下的正确用法与常见错误。

2026-03-02 21:23:17 1095 33

原创 【一天一个计算机知识】Cyber硅基进化的神经内包 —— 【什么是容器?】

C++ STL容器深度解析与实战指南 本文深入剖析STL容器底层机制,涵盖三大核心组件(容器/分配器/迭代器)的协同工作原理。重点解析:1)vector的动态扩容策略(1.5/2倍增长)及reserve优化;2)deque的分段连续存储结构;3)红黑树与哈希表的实现差异。针对迭代器失效问题,提供各容器在修改操作时的安全处理方案,并对比push_back与emplace_back的性能差异。文章还揭示map的[]操作符隐式插入陷阱,强调提前reserve对unordered容器的重要性,为高效STL使用提供实

2026-02-24 14:38:43 802

原创 【 C++ STL(标准模板库)】——【简介】保姆级别带你了解C++中的STL是什么?并如何去学习它?

STL(标准模板库)是C++官方提供的底层工具箱,包含常用数据结构和算法,实现数据与算法的分离。STL有多个版本(HP、P.J.、RW、SGI),其中SGI版本可读性最佳。其六大组件包括算法、容器(序列式/关联式/适配器)、迭代器、仿函数和空间配置器。学习STL需经历"熟用→理解原理→扩展"三阶段,掌握后能显著提升开发效率。文末鼓励读者通过关注、点赞、收藏、评论和投票参与技术互动,共同探索STL的深度应用。 (字数:150)

2026-02-22 14:44:00 810 1

原创 【 C++ 模板初阶】Cyber泛型霓虹的 SFINAE 荒原 —— 一文带你搞通函数模板与类模板

本文介绍了C++中的泛型编程概念,重点讲解了函数模板的实现原理和使用方法。函数模板通过类型参数实现代码复用,编译器会根据调用时的实参类型自动生成对应的函数版本。文章内容包括: 泛型编程概念:通过模板实现与类型无关的通用代码 函数模板原理:编译器根据调用时的类型参数自动实例化特定版本 实例化方式: 隐式实例化:编译器自动推导类型 显式实例化:手动指定模板参数类型 文中通过交换函数和加法函数的示例,展示了模板如何避免重复编写不同类型参数的相似函数,提高代码复用性和可维护性。

2026-02-22 01:34:04 857

原创 【一天一个计算机知识】—— 【 C/C++ 内存管理与分布】

本文介绍了C/C++程序的内存分布模型,详细解析了代码中各类变量和指针的内存区域归属。重点对比了C语言(malloc/calloc/realloc)和C++(new/delete)的动态内存管理机制,包括单个变量和数组的内存分配与释放操作。特别强调了realloc的注意事项、malloc/calloc/realloc的核心区别,以及C++中new/delete操作符的正确使用方式。文章还提供了常见面试考点解析,帮助开发者深入理解内存管理的关键技术细节。

2026-02-20 22:00:53 1786 10

原创 【C++入门】Cyber仿生人的霓虹游牧者 —— 【类与对象】匿名对象

本文探讨了C++中有名对象与匿名对象的定义及生命周期差异。有名对象通过显式变量名声明,生命周期持续到作用域结束;匿名对象则直接调用构造函数,生命周期仅限于当前代码行执行完毕即被销毁。通过Person类的示例演示了两者的创建与析构过程,并强调匿名对象适合一次性方法调用场景。文章还包含一个A类和Solution类的扩展示例,展示匿名对象在实际编程中的应用价值,最后以赛博朋克风格的交互协议呼吁读者参与技术讨论。 (字数:150)

2026-02-18 19:01:30 578 17

原创 【C++入门】Cyber神经的义体插件 —— 【类与对象】内部类

摘要:C++内部类(嵌套类)是封装在外部类作用域内的独立类,具有三大核心特性:1)独立性,内部类不影响外部类对象大小;2)权限特权,默认作为外部类的友元访问私有成员;3)封装性,可通过private修饰实现专属功能隐藏。典型应用场景包括特权访问控制、硬件抽象封装等,通过作用域限制实现更精细的代码组织。内部类机制体现了C++对封装性和灵活性的平衡设计。

2026-02-17 21:59:30 502 40

原创 【C++入门】Cyber高维的蜂巢意识 —— 【类与对象】static 成员

本文系统介绍了C++中静态变量的三种主要应用场景:局部静态变量、静态成员变量和全局静态变量,并深入分析了静态成员函数的特性

2026-02-16 17:40:24 755 24

原创 【C++入门】Cyber尖层的虚实重构—— 【类与对象】类型转换

本文探讨C++中构造函数引发的隐式类型转换机制,分为三类场景:1)内置类型(如int)通过单参构造函数隐式转为类对象;2)使用explicit关键字禁止隐式转换,强制显式构造;3)类对象间通过兼容构造函数实现隐式转换。特别指出C++11后多参数构造函数通过列表初始化也可触发隐式转换。代码示例演示每种场景,并强调隐式转换可能导致意外错误,建议关键构造函数使用explicit规避风险。文末以赛博朋克风格引导读者互动,强化技术传播效果。(149字) 核心要点: 隐式转换触发条件:单参构造函数/兼容类构

2026-02-12 15:03:44 903 4

原创 【C++入门】Cyber深度漫游者的初始链路——【类与对象】初始化成员列表

本文详细介绍了C++中构造函数初始化列表的使用方法及其优势。初始化列表语法是在构造函数参数列表后以冒号开头的一段代码,它相比构造函数体内赋值具有更高效率,直接初始化成员变量而非先默认初始化再赋值。

2026-02-12 12:40:28 733 1

原创 【C++入门】Cyber骇客构造器的核心六元组 —— 【类的默认成员函数】明明没写构造函数也能跑?保姆级带你掌握六大类的默认成员函数(下:运算符重载)

本文介绍了C++类中的运算符重载机制,重点讲解了赋值运算符重载的实现要点和使用场景

2026-02-10 17:27:43 660 4

原创 【C++入门】—— 【什么时候需要用到深拷贝】C++的类中何时需要用到深拷贝?保姆级别带你罗列所有可能!

本文系统解析了深拷贝的核心概念与实现逻辑。深拷贝是指递归复制对象及其所有子对象,在内存中创建完全独立的新副本,与原件彻底解耦。通过流程图展示了深拷贝的完整执行逻辑,包括基本类型处理、循环引用检查和递归复制过程。 文章通过三个典型场景对比说明深拷贝的应用条件: Date类:成员均为内置类型,默认浅拷贝足够 Stack类:涉及堆内存分配,必须显式实现深拷贝以避免内存泄漏 MyQueue类:虽然包含需要深拷贝的Stack成员,但自动调用成员赋值运算符

2026-02-03 17:19:31 1224 21

原创 【C++入门】数字算子重构的共鸣矩阵 ——【运算符重载】怎样让两个自定义对象直接相加、比较或输出? 运算符重载的完整实现指南助你破局!

在C++运算符重载中,返回引用(Return by Reference)是一种关键优化技术,主要用于修改类成员的运算符(如 +=、-=、++、--、=)和支持链式调用的运算符(如 <<)。其核心目的是避免不必要的对象拷贝,同时保持运算符的原生语义。 🔍 典型应用场景 复合赋值运算符(+=、-=等)

2026-01-30 22:28:26 1873 70

原创 【一天一个计算机知识】—— 【操作数与运算符的关系】一文带你领悟 单目 双目 三目 运算符!!

摘要:本文系统解析C/C++中运算符的核心分类与特性,涵盖单目、双目及三目运算符的底层原理与实战应用。重点剖析自增/减、位运算、指针操作等关键语法,揭示优先级陷阱与结合性规律,并提供运算符对比表格与易错点解析,帮助开发者规避常见编码错误,提升代码效率与安全性。(149字)

2026-01-29 23:05:25 758 35

原创 【一天一个计算机知识】—— 【ostream类】C++程序如何“说话”?一步步为你搭建通往ostream的桥梁

本文介绍了C++标准库中的ostream类,它是处理输出流的核心组件。文章从ostream在I/O体系中的核心地位切入,重点解析了其三类成员函数:格式化输出(operator<<)、非格式化输出(put/write)和流状态管理(flush/seekp)。特别强调了ostream作为参数和返回值时的引用传递特性,以及如何为自定义类型重载<<运算符。通过代码示例展示了ostream的灵活应用,包括兼容不同输出流和二进制数据操作。

2026-01-29 20:44:55 948 52

原创 【C++入门】Cyber霓虹镜像城的跨域通行证 —— 【友元(friend)】跨类协作破坏封装性?友元函数与友元类为你架起特权桥梁!

摘要(149字): 本文系统介绍了C++友元函数的核心概念与应用场景。友元函数通过friend关键字突破类封装限制,直接访问私有成员,适用于需要高效操作类内部数据的场景。文章详细解析了友元函数的声明语法(返回类型、函数名、参数列表)、四种参数传递方式(值/引用/常引用/指针)及其典型用例,并特别强调友元函数作为非成员函数的特性(无this指针)和跨类共享能力。通过智能家居系统中Light类的实际案例,展示了友元函数在设备控制、状态读取等场景下的实用价值。

2026-01-27 14:34:30 772 49

原创 【C++入门】Cyber骇客构造器的核心六元组 —— 【类的默认成员函数】明明没写构造函数也能跑?保姆级带你掌握六大类的默认成员函数(上:函数篇)

本文介绍了C++中的六大默认成员函数,重点讲解了构造函数的特点和用法

2026-01-25 20:37:59 743 41

原创 【C++入门】面向对象编程的基石——【类与对象】基础概念篇

# 面向对象编程与类的基本概念 ## 核心摘要 - **OOP三大特性**:封装(数据保护)、继承(代码复用)、多态(接口统一行为多样) - **类与对象**:类是对象模板,包含成员变量(属性)和成员函数(方法) - **访问控制**:public(公开)、private(私有)、protected(保护)三级权限管理 - **语法特性**:struct默认public,class默认private;类内函数默认inline优化 - **设计思想**:通过对象协作解决问题,强调代码组织与数据安全 (全文98

2026-01-21 17:29:20 715 22

原创 【C++入门】骇客数据面向对象的灵魂锚点——【类与对象】this指针篇

C++ this指针解析 核心摘要 this指针作用:解决成员函数共享代码时无法识别调用对象的问题,指向当前调用对象 本质特性: 编译器自动添加的隐含参数(Date* const this) 只能在非静态成员函数中使用 不可修改指向(const修饰指针本身) 典型应用: 区分成员变量与局部变量同名情况 实现方法链式调用(返回*this) 在类内部自引用场景 技术要点 存储位置:作为函数参数存储在栈/寄存器 语法转换:_year会被编译为this->_year 链式调用:通过返回对象引用实现连续操作 示

2026-01-20 22:16:46 737 39

原创 【C++入门】零域终端的虚空指针协议——【nullptr】还在为编译器给NULL匹配为int而头疼?nullptr给予你全新的字面量!

本文摘要: C++中NULL与nullptr的区别解析。传统NULL宏在C++中定义为0,可能导致函数重载冲突;而C++11引入的nullptr关键字是类型安全的空指针常量,可隐式转换为任意指针类型。通过代码示例展示两者差异:NULL可能误调整数版本函数,nullptr则确保调用指针版本。文章还详细解析了NULL宏在C/C++中的不同定义原因,并指出C++不允许void*到其他指针的隐式转换。最后以赛博风格号召读者互动交流。

2026-01-17 22:47:23 655 2

空空如也

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

TA关注的人

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