- 博客(21)
- 收藏
- 关注
原创 C++ 左值与右值深度解析(下篇)
时间维度:对象生命周期管理左值:持久存在的对象右值:临时可移动的资源空间维度:内存操作权限左值引用:操作现有存储右值引用:接管即将释放的存储抽象维度:类型系统与优化的平衡完美转发:保持值类别的泛型编程移动语义:资源所有权转移的艺术。
2025-05-01 10:30:00
942
原创 C++ 左值与右值深度解析(上篇)
在 C++ 的世界中,每个表达式都具有两个关键属性:类型(type)和值类别(value category)。理解值类别——特别是左值(lvalue)和右值(rvalue)——是掌握 C++ 内存管理和高效编程的核心。
2025-05-01 10:00:00
751
原创 深入理解C++17中的std::string_view
只读字符串参数传递解析和查看大型字符串高频字符串操作需要兼容多种字符串类型的接口正确使用时可以显著提升程序性能,但需要时刻注意其非拥有的特性。掌握的使用是现代C++高效字符串处理的关键技能。进一步学习《Effective Modern C++》条款15-17SL.str.11。
2025-04-30 10:30:00
1346
原创 简易C++内存追踪方案:监控动态内存分配与释放
这个内存追踪方案通过重载全局的new和delete操作符,并配合一个统计结构体来实现。调试模式:通过在重载的操作符中设置断点,查看内存分配/释放的调用堆栈运行时监控:通过全局统计对象实时查看内存使用情况这个简单的内存追踪方案为C++开发者提供了一个快速了解程序内存使用情况的工具。无论是调试内存问题,还是简单地监控内存消耗,它都能提供有价值的 insights。虽然不如专业的内存分析工具强大,但它的轻量级和易用性使其成为开发过程中的实用工具。希望这篇文章对你有所帮助!
2025-04-30 10:15:00
633
原创 预编译头文件:大幅提升C++项目编译速度的利器
这是一种更现代的编译优化技术,可以替代传统的头文件和预编译头文件。Modules 提供了更快的编译速度和更好的隔离性,但目前编译器支持仍在完善中。在C++开发中,编译时间往往是一个令人头疼的问题,尤其是当项目规模较大、依赖的头文件较多时,每次修改代码后漫长的编译等待会严重影响开发效率。这样,在后续编译过程中,编译器可以直接加载这些预编译结果,而无需重复解析相同的头文件,从而节省大量时间。当编译其他源文件时,如果它们包含了预编译头文件,编译器会直接加载预编译的二进制数据,而不是重新解析所有头文件。
2025-04-29 10:15:00
916
原创 深入理解条件断点和操作断点:提升调试效率的利器
在软件开发过程中,调试(Debugging)是不可或缺的一环。传统的断点(Breakpoint)允许我们在代码的某一行暂停执行,以便检查变量、调用栈等信息。然而,当程序规模较大或涉及复杂逻辑时,简单的断点可能效率低下。操作断点(Action Breakpoint / Tracepoint)**就能派上用场。条件断点允许在满足特定条件时才暂停程序执行,非常适合调试循环或特定数据场景。操作断点不会暂停程序,但可以打印日志或修改变量。在 VS 中,可以直接右键断点 →。时打印日志,又不会暂停程序。
2025-04-29 10:00:00
1157
原创 一维数组实现二维数组提升性能
在C++中处理二维数组时,开发者通常有两种实现方式:传统指针数组方式和一维数组模拟方式。本文通过完整的代码示例和实际测试数据对比这两种方式的性能差异,并分析一维数组实现方式的优势。
2025-04-28 16:00:46
193
原创 C++高性能计时器:深入理解chrono库与Timer实现
在现代C++开发中,性能测量是优化和调试的关键环节。本文将介绍一个基于C++11<chrono>库的高精度Timer实现,重点分析high_resolution_clock的特性与应用场景。
2025-04-28 10:00:00
1638
原创 深入理解动态库:Windows与Linux的差异与实践指南
动态库(Dynamic Link Library, DLL 或 Shared Object, SO)是现代软件开发中模块化设计的关键技术。它允许多个程序共享代码,减少冗余,并支持运行时加载。,尤其是在符号解析、链接方式和开发实践上。在 Windows 平台,动态库(Linux 的动态库(
2025-04-27 10:00:00
902
原创 优化std::vector的使用:避免不必要的拷贝
通过合理使用reserve和,我们可以显著减少使用过程中的不必要拷贝,提高程序性能。这种优化对于包含复杂对象的vector尤为重要。记住:预先规划好容量,尽量直接在容器中构造对象,是高效使用的关键。
2025-04-26 10:00:00
334
原创 深入理解C++中的箭头操作符(->)
在C++编程中,箭头操作符(->)是一个高频使用的运算符,主要用于通过指针访问对象的成员。本文将全面介绍箭头操作符的三种主要用法,并通过代码示例深入理解其工作原理和应用场景。
2025-04-25 17:36:23
898
原创 算法运行时间的高精度统计方式
介绍两种高精度的计时方法:gettimeofday() 和 QueryPerformanceCounter(),通过这两种方法可以更精确地测定算法的运行时间,并提供一种类的包装方法去方便使用
2024-11-13 15:38:15
1021
原创 【秋招】汇总帖
首先是编程语言上,就嵌入式而言,都是以C和C++为主的,因此我也主要准备C和C++。项目的方向是路径规划和图像处理类,以下的准备方向都是结合着项目去准备的。首先介绍一下本人情况,本人bg双非硕士,本科二本,硕士一本,在今年秋招中也是投递了大量的简历后才获得了比较好的机会。除了上述基础知识外,还有一些知识是用来考察你项目涉及到的,比如我的项目中含有图像处理、路径规划、网络通信的知识。除了编程语言外,也有其他基础知识的考察。这个文章中涉及的网络基础知识是非常基础的,我觉得可以都记住,即使你没有接触过网络编程。
2024-11-12 15:28:43
633
原创 【秋招】C&C++-写代码
秋招中的c和c++主要考察三部分:1. 对于基础知识点的熟练程度2. 对于代码的熟悉程度3. 对于代码编写的熟悉程度本文主要对于代码编写的熟悉程度进行解析。
2024-11-06 16:42:49
833
原创 【秋招】C&C++-看代码
秋招中的c和c++主要考察三部分:1. 对于基础知识点的熟练程度2. 对于代码的熟悉程度3. 对于代码编写的熟悉程度本文主要对于代码的熟悉程度进行解析。
2024-11-06 16:41:56
348
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人