
C++常用知识点
文章平均质量分 96
SunkingYang
C++资深工程师,拥有14年C++实战开发经验。
期间从事Windows客户端及Linux服务端开发。客户端有ActiveX、MFC、QT,医疗虚拟与现实(Ogre、QT、OpenCV等),三维人脸识别。
拥有4年天网视频监控开发经验,包含ocx插件开发、国标解码库:软解码和硬解码开发等(Windows平台),2年雪亮工程国标服务开发经验,包含国标28181级联服务、国标流媒体等(Linux平台)。
目前在从事半导体行业,负责应用程序、驱动开发。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MFC/C++语言怎么比较CString类型最后一个字符
本文总结了MFC中CString比较最后一个字符的4种方法:1)直接下标访问(高效但需空检查);2)ReverseFind反向定位(语义明确);3)Right提取子串(生成临时对象);4)封装工具函数(推荐健壮场景)。关键注意事项包括空字符串处理、多字节字符风险及性能权衡。建议日常开发首选下标访问法(str[len-1])并严格检查空字符串,复杂逻辑可封装为工具函数。特别提醒避免用Right(1)截取多字节字符,否则可能导致乱码。原创 2025-07-14 15:11:51 · 1079 阅读 · 0 评论 -
MFC/C++语言怎么比较CString类型 第一个字符
在 C++(MFC)中比较 CString 首字符的常用方法: 1️⃣ 下标访问:str[0] == 'H' 高效直接,需确保非空; 2️⃣ Left截取:str.Left(1) == "W" 生成子串,适合后续操作; 3️⃣ Find定位:str.Find('A')==0 安全支持空字符串检查; 4️⃣ 大小写处理:用 CompareNoCase() 或 MakeUpper() 转换。 ⚠️注意空字符串和双字节字符(如中文)处理。推荐高频场景使用下标访问,兼顾安全性与性能。原创 2025-07-14 14:46:05 · 1075 阅读 · 0 评论 -
MFC中BOOL类型,在某些操作系统中,-1不能被识别,一般是哪些原因?
MFC框架中BOOL类型(Windows定义为int别名)在跨平台开发时可能出现兼容性问题,特别是使用-1作为非零真值的情况。由于Linux/Unix系统对bool类型实现更严格,-1可能被截断或误判。解决方案包括:1)标准化返回值为0/1;2)优先使用C++标准bool类型;3)通过宏隔离平台差异;4)MFC消息处理函数严格返回文档指定值。最佳实践是避免依赖-1的真值特性,确保跨平台代码的健壮性。原创 2025-07-14 14:22:35 · 998 阅读 · 0 评论 -
C++怎么将可变参数传递给第三方可变参数接口
在C++中传递可变参数给第三方接口主要有三种方法:使用va_list转发传统C接口,采用模板参数包实现类型安全的完美转发,或通过结构体/initializer_list封装参数。va_list方案兼容C库但缺乏类型检查,模板参数包更安全高效但对接口有要求,封装方案可提升可读性但灵活性较低。选择时需考虑接口类型、参数特性和安全性需求,优先推荐模板参数包方案,仅在传统C接口场景使用va_list。原创 2025-07-14 14:12:45 · 606 阅读 · 0 评论 -
C++中浮点数、double类型如何与0值作比较
操作正确方法错误方法判断浮点数是否为0val == 0.0判断两个浮点数是否相等a == b处理特殊值(NaN/Inf)直接比较遵循上述方法,可避免因浮点数精度问题导致的逻辑错误,确保代码的健壮性。思路来源在C++中如何比较浮点数和double类型与0值。这个问题看起来简单,但其实有很多需要注意的地方。首先,我得回想一下浮点数的精度问题,因为这是比较时最容易出错的地方。用户可能是在编程时遇到了浮点数和0比较的问题,比如判断一个计算结果是否为零,但发现直接用等号比较不准确。原创 2025-03-26 20:22:17 · 1597 阅读 · 0 评论 -
CFileFind类中FindFile函数的原理是什么,哪些情况下会出现查找文件失败的
失败原因检测方法解决方案路径错误校验路径合法性权限不足提升权限或处理文件占用无匹配文件首次即失败检查通配符或处理隐藏文件硬件/文件系统错误错误码如用户提示或磁盘修复句柄泄漏资源监视工具检测使用局部变量或显式调用Close()最佳实践路径预处理:使用验证路径有效性。错误日志:记录返回的具体错误码。资源管理:优先使用局部变量,确保CFileFind对象在作用域结束时自动释放。递归控制:限制递归深度,避免栈溢出(如设置最大深度计数器)。思路来源。原创 2025-03-26 20:19:09 · 1152 阅读 · 0 评论 -
MFC中使用Create或CreateDialog创建对话框失败,GetLastError错误码为1813(找不到映像文件中指定的资源类型)
功能:确保跨模块调用时,MFC 正确访问资源、类型和消息映射。何时使用:涉及多模块(DLL、COM、多线程)且使用 MFC 功能时。核心价值:避免资源错乱、崩溃和逻辑错误,提升代码健壮性。上一篇:通过简单示例来展示C/C++中是如何计算指针中字符串的长度技术世界如同浩瀚的海洋,每一处看似复杂的暗流,实则是通向更深理解的航道。你探索的每一个 MFC 模块状态、每一行看似晦涩的代码,都是在驾驭底层逻辑的力量。也许今天的曾让你困惑,但当你跨越这道门槛,你会发现自己已悄然解锁了构建健壮软件的核心密钥。原创 2025-03-14 21:10:06 · 929 阅读 · 0 评论 -
通过简单示例来展示C/C++中是如何计算指针中字符串的长度
在编程的征途中,每一步探索都是对未来的投资,每一次挑战都是成长的催化剂。正如我们在这个简单示例中所见,即使是最基础的操作,如计算指针中字符串的长度,也蕴含着无尽的可能性和创造力。让我们带着这份对技术的热爱,继续在代码的海洋中航行,勇敢地面对每一个难题,不懈地追求卓越。记住,每一次敲击键盘,都是向着更辉煌的明天迈进的坚实步伐。让我们携手并进,在编程的世界里书写属于自己的传奇,创造无限可能!加油,未来的创新者,你的代码,将照亮前行的道路!结尾,否则函数会越界访问,导致未定义行为(如崩溃或错误结果)。原创 2025-03-12 11:14:20 · 568 阅读 · 0 评论 -
C/C++中使用CopyFile、CopyFileEx原理、用法、区别及分别在哪些场景使用
在Windows系统编程中,CopyFile和CopyFileEx是用于文件复制的两个API函数。原创 2025-03-08 10:16:10 · 2077 阅读 · 0 评论