- 博客(84)
- 收藏
- 关注
原创 【C++】list 从入门到封神:迭代器、API、性能一网打尽
本文系统介绍了C++中list容器的核心特性与实现原理。主要内容包括:1. 迭代器分类(单向/双向/随机)及其继承关系;2. list常用成员函数(插入/删除/访问等操作)及其时间复杂度分析;3. 解释list自带sort()函数的必要性(全局sort需要随机访问迭代器);4. 通过自定义MyList类详细展示带头双向循环链表的实现,包含节点结构、迭代器设计和核心操作(插入/删除/合并/反转等)。文章通过对比vector和list的操作效率,突出list在频繁插入删除场景的优势,并提供了完整的测试代码验证实
2026-05-10 14:36:10
446
26
原创 【C++】vector 不踩坑指南:用法、底层实现与迭代器失效解析
本文详细介绍了C++中vector容器的使用方法,包括定义初始化、常用成员函数、手搓实现及迭代器失效问题。主要内容包括:1. vector的三种初始化方式及打印方法;2. 容量相关(size/resize/capacity等)、元素操作(push_back/insert/erase等)、访问([]/at/front等)常用函数;3. 通过模拟实现vector展示底层原理;4. 重点解析迭代器失效问题,给出安全删除元素的方法,强调erase后必须使用返回值更新迭代器。文章通过大量代码示例演示vector的典型
2026-05-10 09:30:00
607
28
原创 【Blender】建模篇终章最后一舞!手把手拿捏 Blender 卡通小狐狸建模(带你完整理清建模思路)
本文是一篇Blender建模教程笔记,详细记录了使用参考图创建狐狸3D模型的完整流程。教程从准备工作开始,讲解了如何设置多角度参考图,并重点演示了镜像修改器和表面细分修改器的配合使用技巧。建模过程涵盖头部、身体、四肢、五官及尾巴的创建,特别强调了对称结构的处理方法和常见问题的解决方案(如中线裂缝修复)。教程还分享了实用技巧,包括顶点压平、父子级绑定等,最后建议学习者多加练习以巩固建模技能。全文条理清晰,操作步骤具体,适合Blender初学者学习基础建模流程。
2026-05-07 09:30:00
619
43
原创 【Blender】Blender 曲线建模全解析:贝塞尔 / NURBS / 蒙皮 / 置换,从原理到实战
本文系统介绍了Blender中曲线建模的核心知识与应用技巧。主要内容包括:1. 贝塞尔曲线和NURBS曲线的原理、特点及操作方式;2. 曲线修改器的使用方法,通过路径曲线精确控制模型形变;3. 父子级关系的详细解析与多种绑定方式;4. 蒙皮修改器快速创建树木模型;5. 置换修改器的原理及应用,制作石头等自然物体。文章通过具体案例演示了各类曲线的编辑技巧和修改器的配合使用,帮助读者掌握曲线建模的核心方法,提升建模效率与质量。
2026-05-01 12:00:00
1654
40
原创 【Blender】Blender 树叶建模全攻略:3 种叶片 + 阵列 / 镜像 / 晶格工具实战精讲
本文详细介绍了Blender树叶建模全流程教程。首先通过三个不同形态的树叶案例,讲解了基础平面建模、循环切割、顶点调整等核心技巧,并演示了实体化和表面细分修改器的使用方法。随后重点解析了阵列修改器中相对偏移与恒定偏移的区别,并运用这些知识制作棕榈树叶,结合镜像修改器实现对称效果。教程还介绍了晶格形变工具调整叶片弧度、物体偏移制作树木造型等进阶技巧,最后展示了如何通过空物体管理整体模型。全文系统性地梳理了从基础到进阶的Blender建模方法,适合新手学习参考。
2026-04-30 14:00:00
593
29
原创 【Blender】别再瞎堆修改器了!Blender 植物建模入门,5 个案例带你告别新手村
本文分享了使用Blender进行植物建模的实战教程,涵盖蘑菇、树桩、花朵、树干和龟背竹五种常见植物的制作方法。通过案例详细讲解了循环切割、衰减编辑、旋绕工具、缩裹修改器等核心建模技巧,以及顶点吸附、拓扑拆分、形变调整等实用操作。教程强调建模思维的培养,建议学习者先掌握基础操作再进阶练习。每个案例都配有步骤图解和效果展示,帮助用户循序渐进地提升Blender建模能力。文章整理自B站UP主KurTips的免费教程,仅供学习交流使用。
2026-04-30 09:00:00
518
33
原创 【C/C++刷题集】栈、stack、队列、queue核心精讲
本文摘要: 本文介绍了栈和队列的基本操作及其应用。在栈部分,通过模板代码展示了栈的基本操作(push/pop/query等),并提供了有效的括号匹配、验证栈序列、后缀表达式计算等经典例题的解法。队列部分同样给出模板代码,并讲解了机器翻译和海港问题两种应用场景,其中海港问题采用滑动窗口和队列结合的方式高效统计不同国籍人数。文章通过代码示例和详细注释,清晰地展示了栈和队列在不同场景下的使用技巧和实现方法,适合算法初学者学习这两种基础数据结构。
2026-04-28 14:30:00
783
28
原创 【C/C++刷题集】顺序表、vector、链表、list核心精讲
本文总结了常见链表与数组操作问题的C++实现方法,包括查找、插入、删除等基本操作。主要内容涵盖: 查找学号优化方案,避免O(n)查找导致超时 寄包柜问题的空间优化,使用动态数组解决大内存需求 双指针法解决移动零和颜色分类问题 合并有序数组的两种实现方式(辅助数组和原地合并) 单向链表和队列安排的高效数组模拟方法 约瑟夫问题的循环链表解决方案 文章重点介绍了各种数据结构的实际应用场景和性能优化技巧,特别是针对算法竞赛中常见的时间/空间限制问题,提供了详细的代码示例和复杂度分析。
2026-04-28 09:30:00
657
36
原创 【Blender】吃透 Blender 必备技能:细分 / 实体化 / 倒角 / 布尔修改器 + LoopTools 实战
本文介绍了Blender中四大常用修改器的使用方法和优势:表面细分修改器可将粗糙模型变平滑,实体化修改器为薄片添加厚度,倒角修改器处理棱边使其圆润,布尔修改器实现形状的加减运算。通过实例演示了如何利用这些修改器快速创建螺母模型,展示了修改器在高效建模、非破坏性编辑和灵活调整方面的优势。文章还推荐了LoopTools插件用于模型优化,并强调了修改器应用顺序的重要性。这些工具能显著提升建模效率,特别适合新手学习使用。
2026-04-23 09:30:00
584
48
原创 【Blender】建模必学 10 个核心操作:从入门到精通的进阶指南
本文介绍了Blender中的十大核心建模操作,分为四大核心和六小常用功能。四大核心包括:挤出(E)、向内挤出(I)、倒角(Ctrl+B)和循环切割(Ctrl+R),这些是创建复杂模型的基础工具。六小常用功能则涵盖合并(M)、断开(V)、填充(F)、切刀(K)、桥接(Ctrl+E)和分离(P),这些工具用于精细调整和连接模型部件。文章通过具体操作示例展示了每个工具的使用方法和适用场景,建议读者边学边练以熟练掌握这些建模技巧,为后续学习修改器等高级功能打下基础。
2026-04-16 14:30:00
1056
38
原创 【Blender】别再只会 “搭积木”!Blender 点线面编辑,新手建模的真正起点
本文系统介绍了Blender建模中的点线面编辑基础操作。主要内容包括:1)编辑模式切换与快捷键(Tab键);2)点线面模式选择(数字键1/2/3)及多种选择方式(框选、刷选、反选等);3)连通选择(L键系列)和循环选择(Alt键)技巧;4)选区扩展收缩操作(小键盘+/-);5)透视与线框模式(Alt+Z/Shift+Z)的应用;6)点线面的基本变换(G/R/S)和删除操作;7)法线概念及其在区分正反面中的作用。文章通过详细步骤和快捷键说明,帮助初学者从”搭积木“式操作过渡到专业建模层面。
2026-04-16 10:04:37
702
52
原创 【C++】C++ 新手必看:深浅拷贝、COW、string 模拟、swap 函数全攻略
本文详解C++拷贝机制与字符串优化。浅拷贝仅复制指针,共享内存易导致重复释放与数据冲突;深拷贝彻底复制数据,独立内存,安全但开销大,故含指针的类必须实现深拷贝。写时拷贝(COW)读时共享内存、写时复制,靠引用计数维护,适合读多写少场景,C++11后标准库弃用。文章完整演示string类实现,涵盖深拷贝、资源管理等核心功能。swap优化方面,成员swap最快(O(1)),全局swap通过ADL调用最优,通用std::swap易触发深拷贝,推荐使用using std::swap; swap(a,b);的最佳实践
2026-04-14 09:30:00
1021
36
原创 【Blender】超全 Blender 新手教程:从软件下载到做出第一个作品(下)
本文是一篇Blender零基础入门教程笔记,重点讲解了从基础模型搭建到最终渲染输出的完整流程。教程首先演示了如何导入参考图并搭建基础几何模型(球体、环体等),详细介绍了视图切换、物体选择和参数调整等基础操作技巧。随后讲解了摄像机机位调整的两种方法,以及EEVEE和Cycles两种渲染引擎的特点比较。在布光环节,重点介绍了面光的使用和多光源布置技巧。最后通过材质上色环节,讲解了基础色、金属度和糙度等材质参数的调节方法,以及材质关联等实用技巧。教程适合Blender新手学习基础建模和渲染流程。
2026-04-12 14:30:11
1295
41
原创 【Blender】超全 Blender 新手教程:从软件下载到做出第一个作品(上)
本文是一篇Blender新手入门教程笔记,主要介绍了Blender软件的基础操作和界面认识。内容包括:1.软件下载方法(Windows和Mac系统);2.常用快捷键操作(视图控制、物体变换、隐藏显示等);3.界面构成与功能分区;4.游标、原点和坐标系等核心概念;5.新手入门案例“珍珠耳环的少女”的预告。教程整理自B站UP主【KurTips】的免费课程,适合Blender零基础学习者快速掌握基础操作。文章提供了详细的操作指南和实用技巧,帮助新手顺利进入3D建模世界。
2026-04-09 16:50:27
1535
62
原创 【35天从0开始备战蓝桥杯 -- Day9】
本文系统讲解了栈和队列两种基础数据结构。首先介绍了栈的特性(LIFO)及其模拟实现方法,通过数组和指针变量实现了push/pop/top等基本操作。随后讲解了STL中的stack容器及其使用方法。队列部分阐述了FIFO特性,同样给出了数组模拟实现方案,并详细介绍了queue容器的操作接口。文章还特别介绍了双端队列deque,说明其两端操作的特点。最后每个部分都附有相关算法题目链接,帮助读者巩固知识。全文通过代码示例和详细注释,使数据结构的学习更加直观易懂。
2026-04-08 09:30:00
1351
42
原创 【35天从0开始备战蓝桥杯 -- Day8】
本文摘要: 本文系统讲解了数据结构中的顺序表和链表实现。首先介绍了算法复杂度分析方法(时间/空间复杂度)及STL标准模板库。然后详细讲解了顺序表的静态实现方式,包括增删查改等基本操作,并介绍了C++中vector容器的使用方法。接着深入解析了单链表和双向链表的静态实现原理,包括创建、插入、删除和查找操作。最后简要介绍了STL中的list容器及其常用成员函数。文章通过大量代码示例演示了各种数据结构的实现方法,并提供了相关算法题目供练习。内容涵盖数据结构基础知识和实际应用,适合编程学习者系统掌握线性表的核心概念
2026-04-04 14:18:02
1814
44
原创 【35天从0开始备战蓝桥杯 -- Day7】
本文详细讲解了C++中结构体和类的基础知识与应用。首先介绍了结构体的声明、变量定义、成员访问和初始化方法,重点讲解了结构体成员函数的使用,包括构造函数、析构函数和运算符重载。其次介绍了sort函数的用法及自定义排序的实现方式。然后讲解了类的定义、使用和访问权限控制,对比了结构体与类的区别。最后通过8个编程练习巩固知识点,包括运算符重载、排序算法应用等实际案例。文章内容全面,适合C++初学者系统学习结构体和类的相关知识。
2026-03-29 09:30:00
2669
48
原创 【35天从0开始备战蓝桥杯 -- Day6】
本文摘要: 本文系统介绍了计算机编程中的进制转换和位运算操作。主要内容包括:1) 二进制、八进制、十进制和十六进制的相互转换方法;2) 原码、反码和补码的概念及转换;3) 6种基本位运算操作符(左移、右移、按位与、或、异或、取反)的原理和应用;4) 位运算的实用技巧,如奇偶判断、保留特定位、设置/清除/反转指定位等;5) 异或运算的巧妙应用,包括变量交换、查找唯一出现数字等。文章通过大量代码示例详细演示了各运算的具体实现,并总结了位运算的常见应用场景和高效公式,为编程中处理二进制数据提供了实用指导。
2026-03-25 09:30:00
2361
41
原创 【35天从0开始备战蓝桥杯 -- Day5】
本文总结了C++编程中的输入输出、函数和递归三大核心内容。在输入输出部分,详细介绍了单组/多组测试用例的处理方法,对比了cin/cout与scanf/printf的性能差异,并提供了优化方案。函数部分重点讲解了参数传递(值传递与引用传递)、返回值、声明定义等概念,通过多个典型案例(如素数判断、斐波那契数列等)展示了函数应用。递归部分通过阶乘计算和斐波那契数列等示例,比较了递归与迭代的实现方式,分析了各自的优缺点。文章强调实际编程中应根据问题特点选择合适的实现方式,并提供了大量实用代码示例和优化技巧。
2026-03-21 17:20:07
2693
44
原创 【35天从0开始备战蓝桥杯 -- 刷题包】
本文介绍了多个C++字符串处理题目及其解题思路,涵盖字符统计、游戏判断、密码翻译、文字处理等功能实现。重点内容包括:1. 使用isspace()函数优化空格统计;2. cin>>字符串自动跳过空白的特性;3. 利用reverse()函数实现字符串翻转;4. 回文字符串的两种判断方法;5. 按键次数统计的数组映射技巧;6. 带记忆功能的计算器实现。文章通过具体代码示例,详细讲解了字符串处理中常见问题的解决方案,并介绍了相关STL函数的使用方法。
2026-03-17 17:17:17
1689
49
原创 【35天从0开始备战蓝桥杯 -- 补充包】
本文介绍了C++编程中常用的几类辅助函数,帮助提升解题效率。主要内容包括:1)输入输出函数getline()的使用方法及注意事项;2)数学类函数如sqrt、pow、fmod、abs等的功能演示;3)string类补充函数append、stoi/stol、stod/stof、to_string的详细用法;4)拓展函数GCD、LCM和快速幂的实现原理与代码示例。这些函数在算法竞赛和日常编程中非常实用,掌握它们能显著提升代码编写效率。文章还特别提醒部分函数在比赛中可能需要手动实现。
2026-03-17 09:30:00
1068
38
原创 【35天从0开始备战蓝桥杯 -- Day4】
本文详细介绍了C++中string类的常用操作,包括字符串创建、输入输出、迭代器遍历、修改和查找等核心功能。主要内容包括:1. 使用getline进行带空格输入;2. 通过size()获取字符串长度;3. 使用正向/反向迭代器遍历字符串;4. 使用push_back和+=进行字符串拼接;5. 通过find查找子串和substr截取子串;6. 字符串比较运算的规则。文章还提供了多个练习题链接,帮助读者巩固string类的使用技巧。
2026-03-13 14:06:14
1778
36
原创 【35天从0开始备战蓝桥杯 -- Day3】
本文介绍了C++中数组相关的重要知识点。主要内容包括:1)一维数组的基本概念和使用注意事项;2)C++11引入的范围for循环和auto类型推导;3)memset和memcpy函数的内存操作;4)字符数组的创建、初始化和特殊处理;5)strcpy和strcat等字符串操作函数。文章通过代码示例详细说明了这些特性的使用方法,并指出了常见误区,如整型数组和字符数组的输出差异、memset设置非0值时的特殊表现等。最后提供了多个练习题目帮助巩固所学内容。作者表示因身体原因可能影响更新进度,但会尽力完成系列教程。
2026-03-11 17:18:37
1097
37
原创 【35天从0开始备战蓝桥杯 -- Day2】
本文介绍了C++编程中的条件判断、循环语句和操作符使用。主要内容包括:1)if-else、switch、while、for、do-while等控制结构的使用方法和练习题;2)关系操作符、逻辑操作符和条件操作符的用法及注意事项,特别是浮点数比较和短路现象;3)break和continue关键字的作用与区别;4)循环嵌套的实践应用,如打印乘法口诀表。文章提供了大量编程练习题链接,帮助读者巩固所学知识。
2026-03-09 09:00:00
1389
33
原创 【35天从0开始备战蓝桥杯 -- Day1】
本文是蓝桥杯备赛35天计划的入门指南,主要面向编程新手。内容涵盖C++基础语法、数据类型、变量常量、运算符、类型转换等核心知识,并提供配套练习题。文章采用通俗易懂的语言讲解编程概念,如main函数作为程序入口、cout/cin的输入输出用法、变量作用域等。特别强调通过大量练习巩固知识,推荐使用洛谷和牛客网的题目资源。此外,还介绍了printf/scanf等C语言函数作为补充,并详细讲解了cout的格式化输出技巧。全文旨在帮助零基础学习者在35天内系统掌握C++编程基础,为算法学习打下坚实基础。
2026-03-08 09:00:00
3026
30
原创 【C++】string 所有常用函数一篇吃透:c_str、find、substr、getline 全解析
本文详细介绍了C++中string类的常用成员函数和全局函数。重点讲解了c_str()和data()用于C风格字符串转换,find系列函数用于字符串查找定位,以及substr()子串截取方法。同时介绍了operator+字符串拼接和getline()整行读取等全局函数。文章通过代码示例演示了这些函数的具体用法,并对比了不同函数的特点和适用场景,如find_first_of()与find()的区别,getline()与operator>>的差异等。最后提供了官方文档链接供深入学习。
2026-03-03 10:35:55
1574
33
原创 【C/C++刷题集】string类(一)
本文介绍了四个字符串处理算法题解:1. 计算字符串最后一个单词长度,使用getline读取整行并通过rfind定位空格;2. 验证回文串,通过过滤非字母数字字符并转换大小写后双指针判断;3. 寻找字符串中第一个唯一字符,利用数组统计字符出现次数;4. 反转字符串,使用双指针交换首尾字符。每个解法都提供了详细思路和代码实现,涉及字符串常用操作和基础算法技巧。
2025-12-21 16:50:40
1659
46
原创 【C++】string 成员函数全解析:容量管理与操作艺术
本文介绍了C++ string类的常用成员函数,分为两部分讲解:第一部分包括max_size()、capacity()、clear()、empty()、reserve()、shrink_to_fit()和resize()等容量相关函数;第二部分涵盖push_back()、append()、operator+=、operator+、assign()、insert()、erase()和replace()等字符串操作函数。文章详细说明了各函数的用法、注意事项和实际应用场景,如字符串替换问题的两种解决方案
2025-12-17 12:30:00
1478
32
原创 【C++】string 核心难点:STL、编码、迭代器、auto、范围 for 彻底搞懂
本文介绍了C++ STL(标准模板库)的基础知识,包括STL简介、编码方式、string类、迭代器、算法find、auto关键字和范围for循环。主要内容包括:1. STL的六大组件和不同版本特点;2. 不同编码方式下汉字所占字节数的差异;3. string类的初始化、遍历和修改方法;4. 迭代器的使用及其优势,包括正向、反向和const迭代器;5. auto关键字在简化代码中的应用;6. 范围for循环的语法和使用场景。文章通过代码示例详细展示了这些核心概念的实际应用,帮助读者快速掌握C++ STL的基础
2025-12-17 10:00:00
1380
21
原创 【C/C++刷题集】类和对象算法题(一)
本文介绍了多种日期和数值计算的C++实现方法。1. 数列求和:通过静态成员变量和变长数组实现1+2+...+n的计算,巧妙规避循环和条件判断的限制。2. 日期处理: 打印日期:根据年份和第n天计算对应日期 日期累加:处理日期的进位逻辑 日期转换:计算指定日期是当年的第几天 日期差值:计算两个日期之间的天数差 实现特点: 使用类封装日期操作 处理闰年等特殊情况 提供多种实现思路(暴力枚举、数学计算等) 优化日期格式输出(补零等) 这些方法展示了C++在数值和日期计算中的灵活应用。
2025-12-15 12:30:00
1193
32
原创 【C++同步练习】模板初阶
摘要:本文系统回顾了C++模板的核心概念与应用。函数模板通过类型参数实现代码复用,强调类型推导规则和语法要点(如typename/class声明)。类模板作为参数化类蓝图,支持多参数和特化,需注意实例化规则。通过典型例题解析,指出常见误区:函数模板不支持隐式类型转换(B选项错误),类模板在运行时不会检查类型(C选项错误),模板类与普通类的编译处理不同(D选项错误)。正确模板声明需每个参数前加typename/class(4/6/7选项正确)。模板机制本质是编译时实例化,兼具类型安全与高效性。
2025-12-15 08:00:00
1936
21
原创 【C++同步练习】内存管理
摘要:本文介绍了C++内存划分及new/delete操作。内存分为栈区(自动管理)、堆区(手动管理)、全局/静态区、代码段和常量区。new/delete用于动态内存管理,会自动调用构造/析构函数,需注意匹配使用(new对应delete,new[]对应delete[])。通过选择题解析了常见错误,如栈/堆生长方向、内存碎片问题、静态分配限制等。重点强调:数组释放必须用delete[],否则可能引发内存泄漏或崩溃;内置类型虽不会崩溃但不建议混用。正确理解内存管理是避免程序错误的关键。
2025-12-14 12:30:00
2142
21
原创 【C++同步练习】类和对象(三)
摘要:本文回顾了C++中const成员变量、引用类型成员、静态成员变量等初始化规则,强调const和引用成员必须通过初始化列表初始化,静态成员需在类外初始化。同时解析了static变量的存储特性及作用域规则,指出static成员函数无this指针。最后讨论了友元机制,说明友元函数可访问类的所有成员但不具备this指针。通过示例题目加深了对初始化顺序、静态成员和友元特性的理解。
2025-12-14 09:00:00
1456
32
原创 【C++】模板初阶
本文介绍了C++模板编程的基础知识,主要包括泛型编程概念、函数模板和类模板三部分内容。首先阐述了泛型编程的意义,通过模板可以编写与类型无关的通用代码,提高代码复用率。其次详细讲解了函数模板的定义格式、原理和实例化方式(隐式/显式),以及模板参数的匹配原则。最后介绍了类模板的定义格式、实例化方法和缺省参数的使用。文章通过大量代码示例展示了模板的实际应用,包括交换函数、加法运算和栈实现等,帮助读者理解模板编程的核心思想和实现方式。
2025-12-10 17:08:16
1562
36
原创 【C++】内存管理(下)
本文主要介绍了C++中的内存管理方式,重点对比了new/delete与malloc/free的区别。文章首先讲解了new/delete对内置类型和自定义类型的操作,指出new会调用构造函数而malloc不会。其次介绍了operator new/delete函数的底层实现原理,它们本质是对malloc/free的封装。接着分析了new/delete的实现机制,包括对内置类型和自定义类型的处理差异。最后详细对比了malloc/free和new/delete在用法、核心特性和原理三个层面的区别
2025-12-08 14:30:00
1151
27
原创 【C++】内存管理(上)
本文系统介绍了计算机内存管理的核心概念与实现机制。首先阐述了内存管理的必要性,包括解决物理限制、提供隔离保护、提升系统效率等。重点分析了进程内存的四大分区:代码段(存储程序指令和常量)、数据段(存放全局/静态变量)、堆(动态分配内存区)和栈(函数调用上下文区),通过对比表格详细说明了各区域特性。文章以Linux x86-64为例展示了实际内存布局,并通过C/C++代码示例解析了不同变量的存储位置。最后简要对比了malloc/calloc/realloc的区别,并提及malloc的实现原理。
2025-12-08 08:30:00
1378
24
原创 【C++】类和对象(六) -- 友元、内部类、匿名对象、对象拷贝时的编译器优化
本文系统讲解了C++中的友元、内部类、匿名对象及编译器优化技术。友元部分详细介绍了友元函数和友元类的声明方式、单向特性及使用注意事项;内部类章节阐述了其独立性和作为外部类友元的特性;匿名对象部分说明了其生命周期和应用场景;最后分析了编译器对对象拷贝的合并优化策略。全文通过代码示例展示了这些特性的实际应用,并强调了合理使用这些技术对提高程序效率的重要性。
2025-12-05 15:00:00
2005
37
原创 【C++】类和对象(五) -- 类型转换、static成员
本文摘要: C++类型转换分为隐式转换和显式转换。隐式转换包括内置类型转换(需相关构造函数支持)和类类型间转换(需目标类提供源类参数的构造函数),可通过explicit禁用。编译器会对连续构造+拷贝构造优化为直接构造。static成员变量属于类而非对象,需类外初始化;静态成员函数无this指针,仅能访问静态成员。非静态函数可访问所有静态成员。静态成员受访问限定符限制,可通过类名或对象访问。练习示例展示了全局变量、局部变量和静态变量的构造与析构顺序规则。
2025-12-03 20:01:06
1440
32
原创 【C++】类和对象(四) -- 取地址运算符重载、构造函数plus
本文介绍了C++运算符重载的实现方法,重点分析了流插入(<<)和流提取(>>)运算符的重载。由于成员函数重载会导致this指针抢占第一个形参位置,不符合使用习惯,因此需要将<<和>>重载为全局友元函数。文章以日期类为例,详细展示了各种运算符重载的实现,包括比较运算符、算术运算符、递增递减运算符等。同时介绍了const成员函数的用法,以及取地址运算符重载的特殊场景。通过运算符重载可以增强代码的可读性和易用性,使自定义类型能像内置类型一样使用标准运算符。
2025-12-03 18:53:47
1419
30
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅