logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

【C++ 基础 】std::vector 常见操作区别

本文总结了C++中std::vector的常见操作区别,包括clear()、erase()、resize()、reserve()、shrink_to_fit()和swap()等函数的使用场景与特性差异。通过对比表格和详细说明,文章重点阐述了各操作对size和capacity的影响,以及元素删除、内存释放等关键行为。最后提供速记版总结和实战建议,帮助开发者正确选择和使用vector操作,避免常见误区

#c++#算法#开发语言 +3
【C++ 基础知识 】C++函数内static:存储期与初始化时机详解

本文深入探讨了静态存储期变量的存储机制与初始化过程,重点解析了.data和.bss段的区别及其对程序性能的影响。文章首先区分了静态存储期变量的三种类型(全局、文件内static、函数内static),指出它们在存储期上的共性。随后详细解释了.data段(存储非零初始值)和.bss段(零初始化)的划分原理,阐明了未初始化变量能减小可执行文件体积的机制。最后对比了C和C++中函数内static变量的不

文章图片
#c++#开发语言#qt +2
【C++ 知识点回顾】C++ 工程中真正常见的内存泄漏:不是忘记 delete,而是生命周期失控

C++工程中真正的内存泄漏问题往往不是简单的忘记delete,而是生命周期管理失控。常见问题包括:1) shared_ptr滥用导致对象无法释放;2) 循环引用造成隐性泄漏;3) 回调注册未解除长期持有对象;4) 异步任务不当延长对象生命周期;5) 线程未退出导致资源无法释放。这些问题本质上是对象所有权和生命周期设计不清晰导致的,比传统内存泄漏更难检测和修复。解决关键在于合理使用智能指针(优先un

文章图片
#c++#嵌入式#开发语言 +2
【Conan 教程】Conan 构建与传递:让 Debug/Release 贯穿整个依赖图的工程化实践

如何构建”和“怎么传递”的答案,其实是一套维度清晰、策略明确、可复制用定义 build_type 与 options;让依赖图“拿得到”匹配二进制(预制或本地构建);用 CMake/CI 守卫一致性、拒绝混链。当这些基本盘扎实后,libzmqboost到你的上层库,Debug/Release 就会自然贯穿整张依赖图,而不是被迫“传参救火”。结语在我们的编程学习之旅中,理解是我们迈向更高层次的重要一

文章图片
#c++#开发语言#arm开发 +2
【C++ 单元测试】 GTest 指南:剖析 TEST_P 与 TYPED_TEST

在日常开发中,Google Test(GTest)已经成为C++单元测试领域的事实标准。从最初的 `TEST` 与 `TEST_F` 出发,很多团队逐渐发现针对不同类型或不同输入参数进行大规模测试时,往往需要更灵活的方式来组织测试用例,这就是 `TEST_P` 和 `TYPED_TEST` 的诞生背景。毕竟,正如荣格所言,“理解越多,也就越能够包容”,对测试框架的深入了解也能帮助我们更好地构建健壮

文章图片
#c++#单元测试#开发语言 +4
WOL(Wake-On-LAN)网络唤醒介绍

WOL(Wake-On-LAN)网络唤醒介绍

#嵌入式
Qt音频:QAudioSink缓冲区指南

在音频开发领域,缓冲区管理是确保音频播放流畅与稳定的关键因素。尤其是在使用 Qt 框架的 `QAudioSink` 类进行音频输出时,合理配置缓冲区大小能够显著提升用户体验。本文将深入探讨 `QAudioSink` 中缓冲区的影响、设置方法及其背后的技术原理,帮助开发者更好地掌握音频播放的核心机制。

文章图片
#qt#音视频#开发语言 +4
【Shell 命令集合 系统设置 】Linux 控制音频设备 aumix命令 使用指南

aumix是Linux系统中的一个命令,它用于控制音频设备的音量和音频输入输出的设置。

文章图片
#linux#运维#服务器 +3
【C++ 单元测试】 如何在 C++ 项目中高效统计gtest单元测试覆盖率

在 C++ 项目中通过 Google Test(gtest)编写单元测试后,若想衡量测试的“广度”与“深度”,就需要对测试覆盖率进行度量。所谓**覆盖率**,是指代码被测试执行时所覆盖到的比例,包括行覆盖率(Line Coverage)、分支覆盖率(Branch Coverage)等不同维度。它可以帮助我们直观地识别尚未测试到的盲区,但是要明白“如尼采所言,人们往往只相信他们想相信的东西”,仅有高

文章图片
#c++#单元测试#开发语言 +4
GCC 12 相对适合现代嵌入式开发的理由

嵌入式领域对于算力和能耗的要求极其严苛,GCC 12 在 ARM/AArch64 架构上对 SVE(Scalable Vector Extension)的智能支持,为数据密集型应用带来实质突破。SVE 允许开发者编写与矢量长度无关的高性能代码,实现自动适配不同硬件平台,而无需繁琐地维护多个代码分支。

文章图片
#c++#开发语言#c++20 +4
    共 119 条
  • 1
  • 2
  • 3
  • 12
  • 请选择