- 博客(517)
- 收藏
- 关注
原创 「C/C++」C++ 标准库 之 #include<sstream>之 std::stringstream
需要混合输入输出的场景复杂字符串构建任务类型安全的字符串转换需要重用流对象的场景格式要求复杂的文本生成。
2025-05-17 08:36:35
1107
原创 「C/C++」C++ 标准库 之 #include<sstream>之 std::ostringstream
本文全面介绍了C++中的std::ostringstream类,这是一个用于在内存中构建和格式化字符串的强大工具。文章首先概述了std::ostringstream的核心特性,包括其作为内存中的输出流、继承自std::ostream、类型安全输出和灵活的格式控制等。接着,详细讲解了其基本用法,如创建对象、基本输出操作以及清空和重用方法。文章还深入探讨了高级格式化功能,包括数字格式化、对齐和填充,以及如何为自定义类型实现输出操作。
2025-05-17 08:27:52
942
原创 「C/C++」C++ 标准库 之 #include<sstream> 之 std::istringstream
本文深入解析了C++中的std::istringstream类,介绍了其基本概念、主要用途及高效使用方法。std::istringstream允许将字符串作为输入流处理,支持类型安全的字符串到其他数据类型的转换。文章详细讲解了如何创建istringstream对象、基本读取操作、检查流状态等基础用法,并进一步探讨了字符串分割、处理多行文本、类型安全转换等高级用法。此外,还介绍了错误处理和验证的方法,包括完整数据验证和处理多种错误情况。
2025-05-17 08:19:35
1131
原创 「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
915
原创 「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
962
原创 「C/C++」C/C++经验篇 之 extern关键字
extern 是 C/C++ 中用于声明变量或函数具有外部链接的关键字,允许它们在不同源文件或编译单元之间共享。其主要作用包括声明全局变量或函数,避免重复定义导致的链接错误。extern 的基本用法包括修饰变量和函数,声明但不定义它们。此外,extern "C" 用于 C 和 C++ 混合编程,防止 C++ 编译器对函数名进行名称修饰。extern 与 static 的区别在于链接性,extern 具有外部链接,而 static 具有内部链接。
2025-05-11 20:31:54
935
原创 「C/C++」C/C++经验篇 之 函数命名Ask和Get的使用情况分析
建议结合使用的具体三维内核(如OpenCASCADE、Parasolid等)的现有命名惯例。如果是NX二次开发,优先使用。在三维CAD/CAM/CAE软件开发中,函数命名使用。若是自主开发的几何内核,现代C++更倾向使用。取决于具体语义和行业惯例。
2025-04-23 12:19:32
738
原创 「C/C++」C/C++第三方库 之 OpenSSL加密算法库头文件介绍(二)
OpenSSL的头文件构成了其丰富的API接口,为开发者提供了加密、SSL/TLS协议实现、证书处理等功能的编程接口。下面我将分类介绍OpenSSL的主要头文件及其功能。
2025-04-22 15:40:19
896
原创 「C/C++」C/C++第三方库 之 OpenSSL加密算法库介绍(一)
OpenSSL是业界领先的开源密码学工具包,提供了完整的SSL/TLS协议实现以及丰富的加密算法库。作为互联网安全的基石,它被广泛应用于Web服务器、VPN、电子邮件系统等各种需要安全通信的场景。
2025-04-22 15:37:04
840
原创 「C/C++」C/C++经验篇 之 自由函数和类成员函数优先级
在C++开发中,决定将函数设计为自由函数(全局/命名空间函数)还是类成员函数,需要根据具体场景和设计原则来判断。以下是详细的对比和指导建议:适用场景:优点:示例:2. 使用类成员函数的场景适用场景:优点:示例:3. 关键决策依据选择自由函数的情况:函数是无状态的(纯函数)。函数需要支持多种类型(适合模板或重载)。函数是算法或工具,不专属于某个类(如STL中的)。选择成员函数的情况:函数直接操作类的私有数据。函数是类行为的核心部分(如)。需要多态行为(虚函数)。4. 现代
2025-04-21 15:44:10
975
原创 「C/C++」C/C++标准库 之 #include<limits> 数值极限库
<limits>是C++标准模板库(STL)中提供数值类型属性信息的核心组件,定义在<limits>头文件中。它通过类模板为各种数值类型(包括整数、浮点数等)提供了编译时常量查询接口。<limits>类型安全的极值访问平台无关的数值特性查询编译期常量支持全面的特殊值检测掌握这些特性可以编写出更健壮、更安全的数值计算代码。是 C++ 数值计算中的重要基石。理解它的精确含义和行为特性,能够帮助开发者编写更健壮、更可靠的数值处理代码。
2025-04-15 15:08:05
878
原创 「C/C++」C++经验篇 之 判断数据是否发生变化
场景推荐方法基本类型(int、float)直接比较old!= new字符串或自定义类重载operator!或封装比较函数结构体(POD 类型)memcmp(谨慎使用)容器(vector、map)std::equal或哈希比较需要自动管理旧值+ 封装类多线程环境加锁或最佳实践如果性能敏感,优先使用直接比较或memcmp(仅限 POD)。如果需要通用性,用模板或operator!。多线程环境下务必保证原子性或加锁。何曾参静谧的博客。
2025-04-11 13:21:42
724
原创 「C/C++」C++经验篇 之 判断结构体数据是否被赋值的几种方法
方法适用场景是否需要 C++17备注bool标记所有情况❌ 不需要需要手动维护标记所有类型✅ 需要 C++17推荐,语义最清晰检查默认值有明确无效值的情况❌ 不需要需确保默认值不会冲突指针(unique_ptr动态分配的对象❌ 不需要需要解引用访问推荐方案如果使用 C++17+,优先选(最清晰、最安全)。如果不能用 C++17,可以用bool标记或默认值检查。如果结构体成员可能动态分配,可以用指针。希望这些方法能帮到你!如果有更具体的需求,可以进一步优化方案。何曾参静谧的博客。
2025-04-11 10:40:40
999
原创 「书」个人成长类 之 男士应该融入的一些女性思维
男生适当融入一些传统上被认为更"女性化"的思维模式,往往能提升人际关系质量、自我认知和情感健康。这些思维不是非此即彼的二元选择,而是每个人都可以灵活调用的工具箱。关键是根据具体情境和个人舒适度逐步尝试,最终形成独特的思维组合。
2025-04-07 22:26:52
459
原创 「书」个人成长类 之 《OKR工作法》内容提炼
如果需要针对某一本书(如《OKR工作法》《Measure What Matters》)做更具体的笔记,可提供书名,我会进一步细化!解决:区分“承诺型OKR”(100%完成)与“愿景型OKR”(允许失败)。解决:KR必须是结果(如“营收增长”),而非动作(如“举办促销活动”)。工具:使用数字化平台(如Tita、Weekdone)共享OKR。避免错误:目标过于模糊(如“提升品牌影响力”)。方法:PDCA循环(计划-执行-检查-行动)。示例:客户满意度评分从80%提升至90%。
2025-04-04 20:31:23
906
原创 「C/C++」C++经验篇 之 类内数据指针存放和单纯存放区别
选择指针选择值类型需要多态(基类指针指向派生类)对象很小(如intPoint对象很大(避免拷贝开销)需要自动生命周期管理需共享数据(多个对象引用同一数据)频繁访问(减少解引用开销)动态大小(如链表、树节点)简单数据结构(无共享需求)最佳实践优先使用值类型(更安全、更高效)。仅在必要时使用指针,并推荐智能指针(如)避免内存问题。何曾参静谧的博客。
2025-03-31 12:38:51
946
原创 「QT」QT模型视图委托篇 之 QModelIndex 定位器
QModelIndex是Qt模型/视图架构中的核心类之一,它作为模型数据的定位器,在模型、视图和委托之间起着桥梁作用。理解QModelIndex对于掌握Qt模型视图编程至关重要。if (!// 根据数据结构创建适当的索引rootNode;// 将自定义数据结构指针与索引关联// 访问自定义数据成员QModelIndex是Qt模型/视图架构的基石,它提供了访问模型数据的统一方式。深入理解QModelIndex的工作机制对于开发复杂的模型视图应用至关重要。
2025-03-29 11:56:05
764
原创 「C/C++」C++番外篇 之 软件版本号 V1.1.1的含义
C++ 项目可能额外标注 ABI 版本(如。建议在正式发布时使用纯净的。),与软件版本号分离。格式,避免后缀混淆。
2025-03-28 10:19:48
1060
原创 「C/C++」C++经验篇 之 枚举值类内和内外对比
需求推荐方式枚举仅用于单一类放在类内部(枚举被多个类共享放在外部命名空间(如需要强封装性私有嵌套枚举 + 公有方法暴露需要 C 兼容性外部传统enum+ 命名空间枚举值可能频繁扩展外部(避免频繁修改类头文件)
2025-03-28 08:30:04
975
原创 「C/C++」C++经验篇 之 enum(传统枚举)和 enum class(强类型枚举)对比
因为它更安全、更现代。(强类型枚举,C++11 引入)各有适用场景。
2025-03-28 08:26:37
744
原创 「C/C++」C++经验篇 之 开闭原则(Open-Closed Principle, OCP)
假设我们有一个程序,需要计算不同形状(如圆形、矩形)的面积。未来可能新增其他形状(如三角形),要求系统能轻松扩展,而无需修改现有代码。:直接修改源码添加新形状,违反开闭原则。如何让代码更健壮、更易扩展!若需要支持多种数据类型(如。
2025-03-27 11:17:24
707
原创 「C/C++」C++经验篇 之 类设计的可扩展能力
的类是提高代码可维护性和适应未来需求变化的关键。通过结合这些方法,你的 C++ 类可以轻松适应未来的需求变化,而无需大规模重构。类应对扩展开放,对修改关闭。通过继承或组合扩展行为,而非直接修改源码。每个类只负责一个功能,避免修改一个功能影响其他功能。将算法或行为抽象为接口,运行时动态替换。子类必须能替换父类,避免破坏继承体系。封装对象创建逻辑,便于扩展新类型。依赖抽象(接口),而非具体实现。动态扩展对象功能,避免继承爆炸。让类支持不同类型,避免重复代码。文件中,减少头文件依赖。
2025-03-27 11:14:29
954
原创 「书」个人成长类 之 《冰鉴》内容提炼
曾国藩《冰鉴》的价值,不在于其占卜吉凶的玄学色彩,而在于提供了观察人性的多维视角。在AI面试、大数据测评盛行的今天,重读《冰鉴》恰似在科技洪流中寻找人性的锚点。它提醒我们:再精密的算法,终难替代"目鉴其心,心鉴其志"的人文关怀。这种跨越时空的识人智慧,正是中华文明"观人之道"的永恒魅力。何曾参静谧的博客。
2025-03-24 20:02:04
1197
原创 「书」个人成长类 之 《深度关系》内容提炼
深度关系是一种超越表层社交的情感联结,其核心在于个体间价值观、情感需求及生命体验的深层次交融。这种关系不仅包含日常互动,更涉及对彼此脆弱性、成长需求及人生目标的深度理解与支持。与工具性关系(如同事协作)或娱乐性关系(如酒友)不同,深度关系具有持续性投入、情感互惠性、自我暴露意愿三大核心特征。心理学视角:根据依恋理论,深度关系常伴随安全型依恋模式,表现为个体在关系中既能保持独立性,又能获得情感滋养。
2025-03-24 08:21:49
948
原创 「书」个人成长类 之 《关键对话》内容提炼
作者:克里·帕特森(Kerry Patterson)等简介:教你如何在关键时刻进行有效沟通,解决冲突并达成共识。关键对话是指对话双方存在巨大观点分歧、对话结果具有高风风险性,且双方情绪处于激烈状态的沟通场景。观点分歧大:双方对问题的看法存在根本性差异,难以达成一致;风险性高:对话结果可能直接影响人际关系、合作进程或生活决策;情绪激烈:双方可能因压力大、目标冲突或误解而产生愤怒、焦虑等情绪。总结关键点:复述双方共识(“我们同意优化流程,下周试行新方案”);制定行动计划。
2025-03-23 08:57:26
1043
原创 「C/C++」C++ STL容器库 之 std::vector根据下标的批量删除
如果你想通过一个下标数组 来删除 中的元素,需要注意以下几点:以下是实现代码:代码解释:排序下标:删除元素:检查下标有效性:输出结果:删除过程:删除下标 : 变为 。删除下标 : 变为 。删除下标 : 变为 。注意事项:如果 中有重复的下标,可能会导致重复删除或未定义行为。可以在排序前对 去重。如果 中的下标超出 的范围,需要额外处理(如忽略或报错)。去重版本:如果 中可能有重复的下标,可以在排序前去重:何曾参静谧的博客(✅关注、👍点赞、⭐收藏、🎠转发)
2025-03-21 08:35:49
808
原创 「En」词性篇 之 八大词性介绍
名词是用来表示人、地点、事物或概念的词。代词是用来代替名词的词,以避免重复。动词表示动作或状态。形容词用来修饰名词,描述其特征。副词用来修饰动词、形容词或其他副词,表示方式、程度、时间等。介词用来表示名词或代词与其他词之间的关系。连词用来连接词、短语或句子。感叹词用来表达强烈的情感或反应。
2025-03-07 08:36:30
880
原创 「C/C++」C++经验篇 之 懒惰计算法
通过推迟不必要的计算任务,懒惰计算法将计算资源集中在真正需要的地方,从而实现了高效的计算。因此,在使用懒惰计算法时,需要仔细权衡其优势和局限,并根据具体的应用场景和需求进行灵活应用。在C++编程中,懒惰计算法(Lazy Evaluation),也被称为延迟计算或按需计算,是一种重要的编程策略。在C++中,对象的定义通常会调用构造函数和析构函数,这可能是高成本的,因为它导致了立即计算。对于性能敏感的计算任务,如图像处理、科学计算或金融分析等,懒惰计算法可以显著减少计算时间。
2025-03-06 20:10:45
1322
原创 「书」个人成长类 之 《纳瓦尔宝典》内容提炼
《纳瓦尔宝典》是一本关于财富、幸福和人生智慧的指南。它不仅仅是一本创业或投资书籍,更是一本关于如何过上有意义生活的哲学著作。通过阅读这本书,你可以学习到如何创造财富、获得幸福,并在复杂的世界中找到自己的方向。纳瓦尔的智慧简洁而深刻,适合任何希望提升自我、追求更好生活的人阅读。何曾参静谧的博客。
2025-03-06 19:24:24
1041
原创 「QT」QSS样式表 之 QOpenGLWidget OpenGL控件类
是 Qt5 中引入的一个类,它提供了一个 OpenGL 渲染上下文,并封装了与 OpenGL 渲染相关的底层细节。开发者可以利用这个类在窗口中渲染复杂的 3D 图形、2D 图形或其他需要高性能图形处理的内容。虽然支持 Qt 的样式表(QSS)机制,但由于其专注于 OpenGL 渲染,QSS 对其的影响相对有限。特别是,与渲染内容直接相关的样式属性通常是通过 OpenGL 编程接口来设置的,而不是通过 QSS。在开发基于。
2025-03-05 08:00:00
970
原创 「QT」QSS样式表 之 QToolButton 工具按钮样式表
本文将详细介绍QPushButton的样式表,特别是伪状态选择器和子控件选择器的使用。本文详细介绍了QPushButton的样式表,特别是伪状态选择器和子控件选择器的使用。通过上述示例,我们可以看到QPushButton的样式表提供了丰富的定制选项,使得开发者能够根据需要轻松创建出符合要求的按钮外观。上述代码将QPushButton的字体设置为18像素的微软雅黑,文本颜色为白色,背景颜色为浅灰色,并添加了圆角边框。QPushButton的样式表可以通过设置字体、颜色、边框、背景等属性来改变按钮的外观。
2025-03-04 09:27:34
1211
原创 「QT」QSS样式表 之 QQuickWidget Quick控件类
继承自QWidget,提供了一个容器,用于在 Qt Widgets 应用程序中无缝集成 Qt Quick 应用程序或 QML 界面。通过,开发者可以在保持 Qt Widgets 应用程序框架的同时,享受 QML 带来的灵活性和效率。它适用于需要在传统 Qt Widgets 应用程序中集成 QML 界面的场景,如动态更新 UI 元素、使用 QML 提供的动画和交互效果,或将现有的 QML 组件嵌入到 Qt Widgets 应用程序中。
2025-03-04 09:07:03
659
原创 「QT」QSS样式表 之 QLCDNumber进度条类
尽管QLCDNumber的QSS支持相对有限,但我们仍然可以通过QSS来设置其一些基本的样式属性,如背景颜色、边框、边框圆角半径、数字颜色和字体。然而,需要注意的是,由于QLCDNumber的内部布局机制,某些属性(如内边距)可能不会按预期工作。如果需要更高级的定制,可能需要考虑子类化QLCDNumber并重写其绘制事件。通过本文的介绍,希望读者能够更好地理解如何在Qt5中使用QSS来设置QLCDNumber的样式。何曾参静谧的博客。
2025-03-04 08:57:32
939
原创 「QT」QSS样式表 之 QCalendarWidget日历控件类
QCalendarWidget是一个功能强大的日历控件,在Qt5中可以通过QSS来自定义其外观。本文详细介绍了如何获取QCalendarWidget子控件的名称、如何设置QSS样式表以及注意事项和示例代码。通过这些知识,开发者可以轻松地为QCalendarWidget添加个性化的样式,从而提升应用程序的用户体验。何曾参静谧的博客。
2025-03-04 08:52:49
804
原创 「书」个人成长类 之 《高效能人士的七个习惯》内容提炼
高效能人士的七个习惯》是一本在全球范围内广受赞誉的管理和个人成长类书籍,作者史蒂芬·科维通过这本书向读者介绍了七个关键习惯,这些习惯不仅能够帮助个人提升效率,还能够在团队和组织中发挥巨大作用。本书被福布斯称为“有史以来最具影响力的十大管理类书籍之一”,并被评为“20世纪最有影响力的商业书”。《高效能人士的七个习惯》自出版以来,受到了广泛的关注和认可。它不仅成为美国公司员工、政府机关公务员以及军队官兵的必读之书,还影响了世界各地的人们。
2025-02-25 08:00:00
709
原创 「书」个人成长类 之 《非暴力沟通》内容提炼
《非暴力沟通》是一本关于沟通技巧与心灵成长的经典著作。作者马歇尔·卢森堡博士基于心理学和人本主义思想,提出了一种全新的沟通模式——非暴力沟通(Nonviolent Communication, NVC)。这种模式通过四个核心要素(观察、感受、需要、请求)帮助人们建立真诚、尊重和理解的对话,减少冲突,增进人与人之间的连接。书中不仅提供了理论框架,还结合了大量实际案例,使读者能够更好地理解和应用。《非暴力沟通》不仅是一本关于沟通技巧的书籍,更是一次心灵的觉醒之旅。
2025-02-24 15:29:13
1090
原创 「QT」QSS样式表 之 QGraphicsView图形视图类
然而,如果我们想要为视图设置一个透明的背景(以便看到场景背后的内容),可以通过设置视图的属性来实现,而不是通过QSS。本身主要用于视图呈现,并不直接涉及界面元素的样式定义(因为其核心功能是场景-视图架构),但QSS(Qt Style Sheets)仍然可以用于定制。本身主要用于视图呈现,并不直接接受QSS样式定义,但我们可以为与其相关的界面元素(如滚动条、边框等)应用QSS样式。是图形项的容器,可以包含各种图形元素,如矩形、椭圆、文本、图片、自定义图形项等。的一些间接元素,比如滚动条、边框等。
2025-02-24 13:14:28
913
原创 「QT」QSS样式表 之 QTextBrowser富文本类
QSS规则由选择器和声明组成,选择器指定要应用样式的控件,而声明则定义了具体的样式属性。在定义QSS时,应考虑到HTML与QSS的交互、滚动条样式的限制以及性能因素。是一个功能强大的控件,它不仅能够显示富文本(HTML格式),还支持文本超链接、图片嵌入和基本的文本编辑功能(如撤销、重做、复制等)。的视觉表现力,Qt提供了样式表(QSS)机制,允许开发者自定义控件的外观。的所有功能,并在此基础上增加了对HTML内容的解析和超链接导航的支持。控件的外观进行一定程度的定制,从而增强应用程序的视觉表现力。
2025-02-24 13:11:53
1019
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人