- 博客(526)
- 收藏
- 关注
原创 「IDE」VS2022 调试篇 之 信息输出方式
本文介绍了在Visual Studio中调试时std::cout输出的控制台窗口位置问题。主要分为四种情况:1)控制台程序会显示在独立CMD窗口;2)GUI程序需重定向到VS输出窗口或使用OutputDebugString;3)服务/后台进程需通过日志或调试器查看;4)VS的"输出"窗口可统一查看调试信息。
2025-05-29 13:59:29
511
原创 「C/C++」C/C++标准库 之 #include <tuple> 之 不同类型值打包模板类
本文全面介绍了C++中的std::tuple模板类。作为C++11引入的异构集合,tuple允许将固定数量、不同类型的值打包为单一对象。
2025-05-29 08:29:33
572
原创 「C/C++」C/C++经验篇 之 C++函数绑定技术解析
函数绑定(Function Binding)是C++中将函数调用与特定上下文或参数关联的技术,它允许我们将函数或成员函数与特定对象或参数值绑定,创建可调用对象以便后续使用。
2025-05-28 11:01:02
939
原创 「C/C++」C++标准库 之 #include<fstream>文件流 ifstream 输入流详解
本文全面介绍了C++中的istream输入流类,包括其功能、使用方法和最佳实践。主要内容涵盖:1)istream类层次结构;2)基本输入操作(提取运算符、get()系列函数、getline()等);3)流状态处理;4)高级功能(格式化输入、自定义提取运算符);5)文件输入和字符串输入的具体应用;6)输入操作的最佳实践,如状态检查、换行符处理等。适合需要系统学习C++输入流操作的开发者参考。
2025-05-26 14:26:11
1119
原创 「C/C++」C/C++经验篇 之 C++动态模块接口调用设计
本文介绍了C++中实现动态模块接口调用的多种设计方案。主要包括三种核心方法:(1)基于抽象基类和工厂模式的面向对象实现;(2)使用std::function和std::map的函数指针方式;(3)通过动态库加载的插件架构。文章还详细探讨了控制模块调用的常见策略,如配置文件、运行时参数、条件逻辑和依赖注入。针对不同应用场景,作者给出了最佳实践建议,包括接口隔离、错误处理、性能优化和线程安全等关键考量因素,为C++开发者设计灵活可扩展的模块化系统提供了实用参考方案。
2025-05-26 10:23:12
914
原创 「DSA」C++搜索算法 之 深度优先搜索(DFS)算法
深度优先搜索(DFS)是一种图遍历算法,以深度为优先策略,尽可能深入地探索图的分支。本文详细介绍了DFS的基本概念、C++实现及其应用。DFS通过递归或迭代方式实现,时间复杂度为O(V+E),空间复杂度为O(V)。文章提供了递归和迭代的C++代码示例,并探讨了DFS的变体,如拓扑排序和查找连通分量。DFS在有限状态空间中总能找到解,但不一定是最优解。通过本文,读者可以全面了解DFS的原理、实现方式及其在图算法中的应用。
2025-05-22 08:05:01
690
原创 「DSA」C++搜索算法 之 广度优先搜索(BFS)算法
本文详细介绍了广度优先搜索(BFS)算法的基本概念、C++实现及其应用。BFS是一种图遍历算法,采用“层层推进”策略,从起始点出发逐层扩展,广泛应用于最短路径查找、状态空间搜索等场景。文章通过代码示例展示了BFS的基本实现、层级记录、最短路径计算以及双向BFS优化等变体,并强调了BFS在无权图中具有的完备性和最优性。BFS的时间复杂度为O(V+E),空间复杂度为O(V),适合解决需要探索最短路径的图论问题。
2025-05-22 08:04:41
769
原创 「C/C++」C++ 标准库 之 #include<sstream>之 std::stringstream
需要混合输入输出的场景复杂字符串构建任务类型安全的字符串转换需要重用流对象的场景格式要求复杂的文本生成。
2025-05-17 08:36:35
1185
原创 「C/C++」C++ 标准库 之 #include<sstream>之 std::ostringstream
本文全面介绍了C++中的std::ostringstream类,这是一个用于在内存中构建和格式化字符串的强大工具。文章首先概述了std::ostringstream的核心特性,包括其作为内存中的输出流、继承自std::ostream、类型安全输出和灵活的格式控制等。接着,详细讲解了其基本用法,如创建对象、基本输出操作以及清空和重用方法。文章还深入探讨了高级格式化功能,包括数字格式化、对齐和填充,以及如何为自定义类型实现输出操作。
2025-05-17 08:27:52
957
原创 「C/C++」C++ 标准库 之 #include<sstream> 之 std::istringstream
本文深入解析了C++中的std::istringstream类,介绍了其基本概念、主要用途及高效使用方法。std::istringstream允许将字符串作为输入流处理,支持类型安全的字符串到其他数据类型的转换。文章详细讲解了如何创建istringstream对象、基本读取操作、检查流状态等基础用法,并进一步探讨了字符串分割、处理多行文本、类型安全转换等高级用法。此外,还介绍了错误处理和验证的方法,包括完整数据验证和处理多种错误情况。
2025-05-17 08:19:35
1180
原创 「C/C++」C/C++经验篇 之 std::string 与 std::wstring 之间转换
本文介绍了两个通用的字符串转换函数,支持 std::string(UTF-8)和 std::wstring(UTF-16/UTF-32)之间的转换,适用于 Windows 和其他平台。第一个函数 StringToWide 将 UTF-8 编码的 std::string 转换为 std::wstring,第二个函数 WideToString 则将 std::wstring 转换回 UTF-8 编码的 std::string。文章还提供了测试用例,并详细说明了跨平台兼容性、编码假设以及替代方案。
2025-05-16 13:50:28
951
原创 「C/C++」C/C++经验篇 之 std::string和std::wstring之间的区别
std::wstring 和 std::string 是 C++ 标准库中的两种字符串类型,主要区别在于字符类型和编码方式。std::string 基于 char,通常用于存储 ASCII 或 ANSI 编码的文本,而 std::wstring 基于 wchar_t,用于存储宽字符,通常表示 UTF-16(Windows)或 UTF-32(Unix-like)。std::string 适用于跨平台文本、网络传输和文件存储,而 std::wstring 在 Windows API 编程中更常见。
2025-05-16 09:31:17
990
原创 「C/C++」C/C++经验篇 之 extern关键字
extern 是 C/C++ 中用于声明变量或函数具有外部链接的关键字,允许它们在不同源文件或编译单元之间共享。其主要作用包括声明全局变量或函数,避免重复定义导致的链接错误。extern 的基本用法包括修饰变量和函数,声明但不定义它们。此外,extern "C" 用于 C 和 C++ 混合编程,防止 C++ 编译器对函数名进行名称修饰。extern 与 static 的区别在于链接性,extern 具有外部链接,而 static 具有内部链接。
2025-05-11 20:31:54
958
原创 「C/C++」C/C++经验篇 之 函数命名Ask和Get的使用情况分析
建议结合使用的具体三维内核(如OpenCASCADE、Parasolid等)的现有命名惯例。如果是NX二次开发,优先使用。在三维CAD/CAM/CAE软件开发中,函数命名使用。若是自主开发的几何内核,现代C++更倾向使用。取决于具体语义和行业惯例。
2025-04-23 12:19:32
743
原创 「C/C++」C/C++第三方库 之 OpenSSL加密算法库头文件介绍(二)
OpenSSL的头文件构成了其丰富的API接口,为开发者提供了加密、SSL/TLS协议实现、证书处理等功能的编程接口。下面我将分类介绍OpenSSL的主要头文件及其功能。
2025-04-22 15:40:19
917
原创 「C/C++」C/C++第三方库 之 OpenSSL加密算法库介绍(一)
OpenSSL是业界领先的开源密码学工具包,提供了完整的SSL/TLS协议实现以及丰富的加密算法库。作为互联网安全的基石,它被广泛应用于Web服务器、VPN、电子邮件系统等各种需要安全通信的场景。
2025-04-22 15:37:04
864
原创 「C/C++」C/C++经验篇 之 自由函数和类成员函数优先级
在C++开发中,决定将函数设计为自由函数(全局/命名空间函数)还是类成员函数,需要根据具体场景和设计原则来判断。以下是详细的对比和指导建议:适用场景:优点:示例:2. 使用类成员函数的场景适用场景:优点:示例:3. 关键决策依据选择自由函数的情况:函数是无状态的(纯函数)。函数需要支持多种类型(适合模板或重载)。函数是算法或工具,不专属于某个类(如STL中的)。选择成员函数的情况:函数直接操作类的私有数据。函数是类行为的核心部分(如)。需要多态行为(虚函数)。4. 现代
2025-04-21 15:44:10
979
原创 「C/C++」C/C++标准库 之 #include<limits> 数值极限库
<limits>是C++标准模板库(STL)中提供数值类型属性信息的核心组件,定义在<limits>头文件中。它通过类模板为各种数值类型(包括整数、浮点数等)提供了编译时常量查询接口。<limits>类型安全的极值访问平台无关的数值特性查询编译期常量支持全面的特殊值检测掌握这些特性可以编写出更健壮、更安全的数值计算代码。是 C++ 数值计算中的重要基石。理解它的精确含义和行为特性,能够帮助开发者编写更健壮、更可靠的数值处理代码。
2025-04-15 15:08:05
892
原创 「C/C++」C++经验篇 之 判断数据是否发生变化
场景推荐方法基本类型(int、float)直接比较old!= new字符串或自定义类重载operator!或封装比较函数结构体(POD 类型)memcmp(谨慎使用)容器(vector、map)std::equal或哈希比较需要自动管理旧值+ 封装类多线程环境加锁或最佳实践如果性能敏感,优先使用直接比较或memcmp(仅限 POD)。如果需要通用性,用模板或operator!。多线程环境下务必保证原子性或加锁。何曾参静谧的博客。
2025-04-11 13:21:42
745
原创 「C/C++」C++经验篇 之 判断结构体数据是否被赋值的几种方法
方法适用场景是否需要 C++17备注bool标记所有情况❌ 不需要需要手动维护标记所有类型✅ 需要 C++17推荐,语义最清晰检查默认值有明确无效值的情况❌ 不需要需确保默认值不会冲突指针(unique_ptr动态分配的对象❌ 不需要需要解引用访问推荐方案如果使用 C++17+,优先选(最清晰、最安全)。如果不能用 C++17,可以用bool标记或默认值检查。如果结构体成员可能动态分配,可以用指针。希望这些方法能帮到你!如果有更具体的需求,可以进一步优化方案。何曾参静谧的博客。
2025-04-11 10:40:40
1017
原创 「书」个人成长类 之 男士应该融入的一些女性思维
男生适当融入一些传统上被认为更"女性化"的思维模式,往往能提升人际关系质量、自我认知和情感健康。这些思维不是非此即彼的二元选择,而是每个人都可以灵活调用的工具箱。关键是根据具体情境和个人舒适度逐步尝试,最终形成独特的思维组合。
2025-04-07 22:26:52
462
原创 「书」个人成长类 之 《OKR工作法》内容提炼
如果需要针对某一本书(如《OKR工作法》《Measure What Matters》)做更具体的笔记,可提供书名,我会进一步细化!解决:区分“承诺型OKR”(100%完成)与“愿景型OKR”(允许失败)。解决:KR必须是结果(如“营收增长”),而非动作(如“举办促销活动”)。工具:使用数字化平台(如Tita、Weekdone)共享OKR。避免错误:目标过于模糊(如“提升品牌影响力”)。方法:PDCA循环(计划-执行-检查-行动)。示例:客户满意度评分从80%提升至90%。
2025-04-04 20:31:23
912
原创 「C/C++」C++经验篇 之 类内数据指针存放和单纯存放区别
选择指针选择值类型需要多态(基类指针指向派生类)对象很小(如intPoint对象很大(避免拷贝开销)需要自动生命周期管理需共享数据(多个对象引用同一数据)频繁访问(减少解引用开销)动态大小(如链表、树节点)简单数据结构(无共享需求)最佳实践优先使用值类型(更安全、更高效)。仅在必要时使用指针,并推荐智能指针(如)避免内存问题。何曾参静谧的博客。
2025-03-31 12:38:51
948
原创 「QT」QT模型视图委托篇 之 QModelIndex 定位器
QModelIndex是Qt模型/视图架构中的核心类之一,它作为模型数据的定位器,在模型、视图和委托之间起着桥梁作用。理解QModelIndex对于掌握Qt模型视图编程至关重要。if (!// 根据数据结构创建适当的索引rootNode;// 将自定义数据结构指针与索引关联// 访问自定义数据成员QModelIndex是Qt模型/视图架构的基石,它提供了访问模型数据的统一方式。深入理解QModelIndex的工作机制对于开发复杂的模型视图应用至关重要。
2025-03-29 11:56:05
780
原创 「C/C++」C++番外篇 之 软件版本号 V1.1.1的含义
C++ 项目可能额外标注 ABI 版本(如。建议在正式发布时使用纯净的。),与软件版本号分离。格式,避免后缀混淆。
2025-03-28 10:19:48
1064
原创 「C/C++」C++经验篇 之 枚举值类内和内外对比
需求推荐方式枚举仅用于单一类放在类内部(枚举被多个类共享放在外部命名空间(如需要强封装性私有嵌套枚举 + 公有方法暴露需要 C 兼容性外部传统enum+ 命名空间枚举值可能频繁扩展外部(避免频繁修改类头文件)
2025-03-28 08:30:04
981
原创 「C/C++」C++经验篇 之 enum(传统枚举)和 enum class(强类型枚举)对比
因为它更安全、更现代。(强类型枚举,C++11 引入)各有适用场景。
2025-03-28 08:26:37
778
原创 「C/C++」C++经验篇 之 开闭原则(Open-Closed Principle, OCP)
假设我们有一个程序,需要计算不同形状(如圆形、矩形)的面积。未来可能新增其他形状(如三角形),要求系统能轻松扩展,而无需修改现有代码。:直接修改源码添加新形状,违反开闭原则。如何让代码更健壮、更易扩展!若需要支持多种数据类型(如。
2025-03-27 11:17:24
712
原创 「C/C++」C++经验篇 之 类设计的可扩展能力
的类是提高代码可维护性和适应未来需求变化的关键。通过结合这些方法,你的 C++ 类可以轻松适应未来的需求变化,而无需大规模重构。类应对扩展开放,对修改关闭。通过继承或组合扩展行为,而非直接修改源码。每个类只负责一个功能,避免修改一个功能影响其他功能。将算法或行为抽象为接口,运行时动态替换。子类必须能替换父类,避免破坏继承体系。封装对象创建逻辑,便于扩展新类型。依赖抽象(接口),而非具体实现。动态扩展对象功能,避免继承爆炸。让类支持不同类型,避免重复代码。文件中,减少头文件依赖。
2025-03-27 11:14:29
960
原创 「书」个人成长类 之 《冰鉴》内容提炼
曾国藩《冰鉴》的价值,不在于其占卜吉凶的玄学色彩,而在于提供了观察人性的多维视角。在AI面试、大数据测评盛行的今天,重读《冰鉴》恰似在科技洪流中寻找人性的锚点。它提醒我们:再精密的算法,终难替代"目鉴其心,心鉴其志"的人文关怀。这种跨越时空的识人智慧,正是中华文明"观人之道"的永恒魅力。何曾参静谧的博客。
2025-03-24 20:02:04
1209
原创 「书」个人成长类 之 《深度关系》内容提炼
深度关系是一种超越表层社交的情感联结,其核心在于个体间价值观、情感需求及生命体验的深层次交融。这种关系不仅包含日常互动,更涉及对彼此脆弱性、成长需求及人生目标的深度理解与支持。与工具性关系(如同事协作)或娱乐性关系(如酒友)不同,深度关系具有持续性投入、情感互惠性、自我暴露意愿三大核心特征。心理学视角:根据依恋理论,深度关系常伴随安全型依恋模式,表现为个体在关系中既能保持独立性,又能获得情感滋养。
2025-03-24 08:21:49
961
原创 「书」个人成长类 之 《关键对话》内容提炼
作者:克里·帕特森(Kerry Patterson)等简介:教你如何在关键时刻进行有效沟通,解决冲突并达成共识。关键对话是指对话双方存在巨大观点分歧、对话结果具有高风风险性,且双方情绪处于激烈状态的沟通场景。观点分歧大:双方对问题的看法存在根本性差异,难以达成一致;风险性高:对话结果可能直接影响人际关系、合作进程或生活决策;情绪激烈:双方可能因压力大、目标冲突或误解而产生愤怒、焦虑等情绪。总结关键点:复述双方共识(“我们同意优化流程,下周试行新方案”);制定行动计划。
2025-03-23 08:57:26
1061
原创 「C/C++」C++ STL容器库 之 std::vector根据下标的批量删除
如果你想通过一个下标数组 来删除 中的元素,需要注意以下几点:以下是实现代码:代码解释:排序下标:删除元素:检查下标有效性:输出结果:删除过程:删除下标 : 变为 。删除下标 : 变为 。删除下标 : 变为 。注意事项:如果 中有重复的下标,可能会导致重复删除或未定义行为。可以在排序前对 去重。如果 中的下标超出 的范围,需要额外处理(如忽略或报错)。去重版本:如果 中可能有重复的下标,可以在排序前去重:何曾参静谧的博客(✅关注、👍点赞、⭐收藏、🎠转发)
2025-03-21 08:35:49
813
原创 「En」词性篇 之 八大词性介绍
名词是用来表示人、地点、事物或概念的词。代词是用来代替名词的词,以避免重复。动词表示动作或状态。形容词用来修饰名词,描述其特征。副词用来修饰动词、形容词或其他副词,表示方式、程度、时间等。介词用来表示名词或代词与其他词之间的关系。连词用来连接词、短语或句子。感叹词用来表达强烈的情感或反应。
2025-03-07 08:36:30
883
原创 「C/C++」C++经验篇 之 懒惰计算法
通过推迟不必要的计算任务,懒惰计算法将计算资源集中在真正需要的地方,从而实现了高效的计算。因此,在使用懒惰计算法时,需要仔细权衡其优势和局限,并根据具体的应用场景和需求进行灵活应用。在C++编程中,懒惰计算法(Lazy Evaluation),也被称为延迟计算或按需计算,是一种重要的编程策略。在C++中,对象的定义通常会调用构造函数和析构函数,这可能是高成本的,因为它导致了立即计算。对于性能敏感的计算任务,如图像处理、科学计算或金融分析等,懒惰计算法可以显著减少计算时间。
2025-03-06 20:10:45
1326
原创 「书」个人成长类 之 《纳瓦尔宝典》内容提炼
《纳瓦尔宝典》是一本关于财富、幸福和人生智慧的指南。它不仅仅是一本创业或投资书籍,更是一本关于如何过上有意义生活的哲学著作。通过阅读这本书,你可以学习到如何创造财富、获得幸福,并在复杂的世界中找到自己的方向。纳瓦尔的智慧简洁而深刻,适合任何希望提升自我、追求更好生活的人阅读。何曾参静谧的博客。
2025-03-06 19:24:24
1059
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人