![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
文章平均质量分 59
程序员的园
这个作者很懒,什么都没留下…
展开
-
优雅的CPP——结构化绑定
结构化绑定是 C++17 中引入的一项强大特性,可以使代码更加简洁、清晰和灵活。通过结构化绑定,我们可以更方便地处理元组、数组、容器等数据结构,提高了代码的可读性和可维护性。然而,在使用结构化绑定时,需要注意生命周期、可变性和匹配数量等问题,以避免潜在的错误和不必要的麻烦。原创 2024-04-17 23:53:23 · 266 阅读 · 0 评论 -
std::optional:解决值存在性问题的利器
std::optional<T>作为一个模板类,用于管理一个可选的容纳值(此处与std::tuple还是有区别的,tuple可以容纳n个值),容纳值可以是自定义类型,甚至是另一个optional。可是通常这些魔幻值需要接口使用者遵守函数的约定,为接口的使用增加了复杂度,基于此C++17提出了std::optional,用于解决值可能存在也可能不存在的问题。如上代码几乎涵盖了optional常用的所有用法,如构造、初始化、赋值、判空、取值。使用std::optional优化如上代码,原创 2024-04-17 22:31:00 · 336 阅读 · 0 评论 -
【无标题】
C/C++程序员具有直接操作内存的权力,但这也对程序员提出高要求,尤其是要小心内存泄露。可是内存泄漏发生时,也不要怕,windows平台gflags和vs是分析内存泄露的上好工具。原创 2023-01-02 15:13:27 · 136 阅读 · 0 评论 -
QT封装的指针
C/C++程序员来讲,内存泄露是需要特别关注的点,但是QT提供智能指针,可以避免由于使用原生指针(忘记释放堆上内存)而带来的内存泄露。原创 2022-11-13 16:17:36 · 411 阅读 · 0 评论 -
cppcheck入门
书写完代码后,如果有工具可以检查代码中存在的未定义行为,对于程序员来讲,乃至对于整个软件开发流程来讲都是大有裨益的。而cppcheck就是好用的工具之一。cppcheck作为C/C++代码检查的利器,使用方便高效,本文作为一个入门篇章,可让读者快速上手。原创 2022-11-13 09:43:43 · 2642 阅读 · 0 评论 -
C++引入第三方库
CMAKE MSVC 引用库的方法原创 2022-08-07 14:47:05 · 983 阅读 · 0 评论 -
多线程 看这一篇就够了,持续更新
1.多线程的初级创建 此处适用于开辟的线程函数仅执行一遍,即非重复性动作 头文件:#include"thread" 使用多线程时需要通过成员变量来实现,故需要在应用多线程的类的头文件中增加类的成员变量,语法如下: std::thread* m_thrTest{nullptr}; 在开启线程的位置的语句为: m_thrTest =new std::thread(testProcess,this); 其中testProcess线程处理的回调函数,即为实际处理函数。this为传入参数。 当启动线程的函数不在类里原创 2021-05-29 16:25:04 · 115 阅读 · 0 评论