
C++
文章平均质量分 86
赵萱婷
慢慢适应,坚持
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
[算法沉淀记录] 分治法应用 —— 二分搜索(Binary Search)
二分搜索(Binary Search)是一种在有序数组中查找特定元素的高效算法。它每次将搜索区间减半,从而快速地缩小搜索范围。二分搜索的基本思想是:首先将待查关键字与数组中间位置的关键字比较,由于数组是有序的,所以一次比较就可以确定待查关键字是在中间位置的左边还是右边,然后只在相应的区域内继续搜索,直到找到为止,或者确定找不到为止。原创 2024-02-27 17:55:25 · 1313 阅读 · 0 评论 -
[算法沉淀记录] 排序算法 —— 堆排序
堆排序(Heap Sort)是一种基于比较的排序算法,它利用堆这种数据结构来实现排序。堆是一种特殊的完全二叉树,其中每个节点的值都必须大于或等于(最大堆)或小于或等于(最小堆)其子节点的值。堆是一个近似完全二叉树的数据结构,满足任一非叶子节点的值不小于(或不大于)其左右孩子节点的值。堆通常分为最大堆和最小堆:堆排序算法通过构建一个最大堆或最小堆,然后将堆顶元素(最大或最小值)与堆的最后一个元素交换,再将剩余的元素重新调整为最大堆或最小堆,如此反复,直到整个数组有序。堆排序是一种高效的排序算法、原创 2024-02-26 17:58:51 · 1376 阅读 · 0 评论 -
[算法沉淀记录] 排序算法 —— 选择排序
在本文档中,我们学习了如何使用选择排序算法对数组进行排序。我们首先定义了一个选择排序函数,然后使用该函数对不同类型的数组进行排序。最后,我们展示了排序后的数组。希望这个文档对你有所帮助!原创 2024-02-26 10:48:47 · 1265 阅读 · 0 评论 -
[算法沉淀记录]排序算法 —— 快速排序
在本文中,我们梳理了快速排序算法,它的时间复杂度,以及如何用c++实现它。我们还学习了如何在基本数据类型和用户定义数据类型上使用快速排序算法。原创 2024-02-26 10:40:54 · 1079 阅读 · 0 评论 -
[算法沉淀记录] 排序算法 —— 冒泡排序
冒泡排序是一种简单的排序算法。它重复地遍历要排序的列表,一次比较两个元素,并交换它们的位置,如果它们不是按照升序排列的。这步遍历是重复进行的,直到没有再需要交换,也就是说该列表已经排序完成。该算法为交换排序之一。原创 2024-02-24 15:03:25 · 1138 阅读 · 1 评论 -
[算法沉淀记录] 排序算法 —— 归并排序
归并排序是一种分治算法,由约翰·冯·诺伊曼在1945年发明。它的工作原理是将未排序的列表划分为n个子列表,每个子列表包含一个元素(包含一个元素的列表被认为是有序的),然后重复合并子列表以生成新的有序子列表,直到只剩下一个子列表。归并排序是一种高效的排序算法,其优缺点如下:总体而言,归并排序是一种高效的通用排序算法,特别适合需要稳定排序和大量数据的情况。然而,如果内存使用是一个关键因素,或者数据集非常小,可能需要考虑其他排序算法。归并排序是一种高效的通用排序算法,由于其稳定性和(O(n log n))的时间原创 2024-02-23 19:32:34 · 1408 阅读 · 0 评论 -
[算法沉淀记录] 排序算法 —— 希尔排序
希尔排序(Shell Sort)是一种基于插入排序的算法,由Donald Shell于1959年提出。希尔排序的基本思想是将待排序的序列划分成若干个子序列,分别进行插入排序,待整个序列中的记录基本有序时,再对全体记录进行一次直接插入排序。原创 2024-02-23 09:33:40 · 1233 阅读 · 0 评论 -
C++ 设计模式 —— 组合模式
组合模式的定义组合模式的作用组合模式是一种行为型设计模式,它将对象组合成树形结构以表示部分 - 整体的层次结构。这种模式使得用户对单个对象和组合对象的使用具有一致性。组合模式主要应用于需要表示复杂对象结构或者需要将对象组合成树形结构的场景。组合模式的定义和作用:定义:组合模式通过一种巧妙的设计方案,可以一致性地处理整个树形结构或者树形结构的一部分,也可以一致性地处理树形结构中的叶子节点(不包含子节点的节点)和容器节点。原创 2023-10-13 11:45:58 · 1475 阅读 · 0 评论 -
C++ 设计模式 —— 桥接模式
桥接模式的定义桥接模式的作用桥接模式,顾名思义,就像是一座连接两岸的桥梁。在软件开发中,我们可以将桥接模式看作是一座连接抽象部分和实现部分的“桥”,通过这座“桥”,我们可以方便地在抽象部分和实现部分之间进行切换,而不需要关心它们之间的实现细节。桥接模式的核心作用就是降低系统的耦合度,提高扩展性和可维护性。想象一下你正在修建一座连接两个城市的大桥,如果没有这座桥,你需要绕行很远的距离才能到达对岸。原创 2023-10-09 20:12:38 · 893 阅读 · 0 评论 -
读书笔记-《The Modern C++ Challenge》- Sum of naturals
《The Modern C++ Challenge》读书笔记第一个程序。原创 2022-02-08 17:06:40 · 1086 阅读 · 0 评论 -
(C++基础_STL) —— vector 类的基本应用
文章目录(C++基础_STL) —— string类的基本应用0 个人介绍vector容器1. vector的基本概念2. vector的构造函数(C++基础_STL) —— string类的基本应用 在日常的C++开发过程中,我们会经常使用到STL最为赋能加速开发的一个基本库,那么在有一定的C++的语言的基础上,学习如何使用STL是一件非常有益与后续有益于自己面对更加复杂的需求和日常开发赋能的,因此,本人虽然工作了有一段时日了,准备开始写一系列专栏记录自己重温STL的一些用法,并加深自己对原创 2021-08-31 20:28:33 · 373 阅读 · 0 评论 -
(C++基础_STL) —— string类的基本应用
文章目录(C++基础_STL) —— string类的基本应用0 个人介绍string容器1. string的基本概念2. string的构造函数案例3. string赋值操作4. string的字符串拼接操作5. string的查找和替换6.(C++基础_STL) —— string类的基本应用 在日常的C++开发过程中,我们会经常使用到STL最为赋能加速开发的一个基本库,那么在有一定的C++的语言的基础上,学习如何使用STL是一件非常有益与后续有益于自己面对更加复杂的需求和日常开发赋能的原创 2021-08-26 11:26:44 · 277 阅读 · 0 评论 -
(C++ STL _ CMake ) —— 利用CMake来构建STL的学习项目的步骤
这是一篇利用CMake来建立一个STL学习项目的介绍文章。原创 2021-08-25 17:44:33 · 874 阅读 · 4 评论 -
(C++基础_STL) —— 初识STL
在日常的C++开发过程中,我们会经常使用到STL最为赋能加速开发的一个基本库,那么在有一定的C++的语言的基础上,学习如何使用STL是一件非常有益与后续有益于自己面对更加复杂的需求和日常开发赋能的,因此,本人虽然工作了有一段时日了,准备开始写一系列专栏记录自己重温STL的一些用法,并加深自己对于STL的理解和运用的过程,本系列文章主要用于自己复习和参考使用,如果您看到感兴趣了也可以跟我一并一起进一步学习和探讨。原创 2021-08-18 15:50:57 · 408 阅读 · 2 评论 -
(图形学笔记 - Vulkan) 1.1.3 - Validation layers(建立vulkan的验证层)
文章目录1.1.3 - Validation layers(建立vulkan的验证层)参考链接概述学习和翻译内容Validation layers(验证层)What are validation layers? (什么是验证层?)Using validation layers (使用验证层)Message callback(消息回调)Debugging instance creation and destruction(调试实例创建和销毁)TestingConfiguration(配置)整体代码小结个人格言翻译 2021-07-14 15:39:20 · 2160 阅读 · 2 评论 -
(Visual Studio 杂记) )—— Visual Studio 如何 设置 C++ 标准版本
文章目录Visual Studio 如何 设置 C++ 标准版本概述操作个人格言Visual Studio 如何 设置 C++ 标准版本概述 在日常工作中,有时候想要使用一些C++的高级特性,或者是限制只允许使用旧的C++标准的时候,就需要来调整,因此就需要在Visual Studio 中调整C++所使用的标准。操作工程属性 —— c/c++ 所有选项 —— c++语言标准 : iso c++17标准(/std:c++17)个人格言 用心去感受你自己需要坚持的生活,未来慢慢原创 2021-07-07 09:57:19 · 1898 阅读 · 0 评论 -
(工作效率提升杂记) —— Visual Studio 效率提升类的的工具和设置(个人)
文章目录(工作效率提升杂记) —— Visual Studio 效率提升类的的工具和设置(个人)概论相关设置**Visual Studio IDE****Visual Studio Code**办公提升工具GIT 使用类个人格言(工作效率提升杂记) —— Visual Studio 效率提升类的的工具和设置(个人)概论 在日常工作中,我们作为C++的程序员,开发Windows的程序的时候,最经常需要用到的开发工具就是我们的IDE —— Visual Studio (我愿称之为宇宙洪荒最强IDE原创 2021-06-25 15:12:03 · 440 阅读 · 4 评论 -
收集的图形学面试问题小结资料
本文主要参考的博客是: csdn_chai —— 图形学复习要点 我想通过这篇文章,对图形学在游戏开发工程师面试时常考(可能会考)的问题,主要想有个提纲的认识。虽然图形学在面试中的比重比较小,但是还是要复习一下的。图形学的考点主要分为三部分,一是渲染管线,二是数学尤其是线性代数和三维几何。一、 渲染管线1.1 有那几个坐标系(空间)?如何在空间之间进行转换?我们在图形学...原创 2018-04-16 15:34:50 · 22810 阅读 · 9 评论 -
(C++设计模式) —— 常见设计模式学习笔记 - Factory模式(工厂)
文章目录常见设计模式学习笔记 - Factory模式概述基本概念UML图解释编写代码环境概要具体代码编写测试小结个人格言常见设计模式学习笔记 - Factory模式概述基本概念 日常我们开发的过程中,有时候需要用到一些只需要定义接口,然后让子类去决定实例化哪个类的情况,就可以用到我们所说的工厂方法(Factory Method)来解决这个问题,那么Factory模式的作用,可以给出如下的定义: Factory模式可以用来定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方原创 2021-06-01 14:28:17 · 951 阅读 · 24 评论 -
(C++ 杂记) —— 自己编写一个math类
文章目录自己编写一个math类概述math代码个人格言自己编写一个math类概述 在我们日常编程的过程中,经常有需要去用到处理一些数学的函数,利用他们来计算一些结果,然后很多时候,我们不止需要用到math.h提供的基础能力,因为其大部分提供的是C的基础能力,并不是面向对象的,因此就产生了一种需求,我们需要实现一个面向对象的一个有一个基础的数学能力的库,当然,自己实现的只是一个很小的需求,如果想要使用强大的数学库,自然有一些开源的,例如boost::math, opencv 里面的矩阵运算的库,原创 2021-04-30 17:12:48 · 597 阅读 · 2 评论 -
(C++ 杂记) —— C++ 类class 和 结构体 struct 的区别
文章目录C++ 类class 和 结构体 struct 的区别概述差异和举例个人格言C++ 类class 和 结构体 struct 的区别概述 今天在逛知乎的时候,看到了有人在问,类和结构体的区别,然后想想自己好久没有去思考这类基础的问题了,正好借着这个机会写一篇小的文章来记录这次突然的发现。其实我们日常开发过程中,经常会用到class和struct,但是C++倾向明显的同事就会喜欢用class,C倾向明显的同事就喜欢用struct,那么,他俩在目前的C++体系里面,有什么异同呢?这篇文章希望原创 2021-04-28 13:54:27 · 425 阅读 · 0 评论 -
(C++ 成长记录) —— C++强制类型转换运算符(static_cast、reinterpret_cast、const_cast和dynamic_cast)
文章目录C++强制类型转换运算符附录专业词汇百科参考文献概述类型转换概念介绍异同对比static_castreinterpret_castconst_castdynamic_cast小结个人格言C++强制类型转换运算符附录专业词汇百科C语言C++指针强制类型转换参考文献 声明: 本文有部分内容直接来自参考文献,侵删。C++强制类型转换运算符(static_cast、reinterpret_cast、const_cast和dynamic_cast)概述 我在日原创 2021-04-27 15:46:44 · 361 阅读 · 2 评论 -
(C++ 成长记录) —— 实现类似std::vector的Array类
文章目录(C++ 成长记录) —— 实现类似std::vector的Array类概述标准库自行实现的Array类编写简单的测试程序个人格言(C++ 成长记录) —— 实现类似std::vector的Array类概述 Array是平常我们在程序开发过程中经常会用到的一种数组,是一种使用非常方便的线性结构。一般只要是准备自行去写一些稍微大型一些的软件,很多时候会想着自己来封装一个类似的数组的能力,拥有一定容器能力的数组类,那么,应该思考,一个数组,应该具备怎样的能力呢?我们首先看看std对于Vect原创 2021-04-26 19:47:20 · 454 阅读 · 0 评论 -
(C++ Std 学习) —— 重载函数的地址
文章目录(C++ Std 学习) —— 重载函数的地址概述和背景参考文本和自行翻译案例代码分析自己编写的代码中使用分析个人格言(C++ Std 学习) —— 重载函数的地址概述和背景 在日常学习工作中,很多时候都会用到函数,还要理解函数的地址是如何生成和使用的,不过绝大部分而言都是直接使用类对象指针来调用对应的函数即可,这个过程在内存中其实就是找到对应的对象的其实地址,然后加上该函数在该类对象中的函数地址片偏移量即可找到对应的函数的一个过程。那么,C++Std中又是如何定义关于函数地址的重原创 2021-04-19 11:59:28 · 381 阅读 · 2 评论 -
(C++ Std 学习) 访问说明符的理解和运用(public, protected, private)
文章目录(C++ Std 学习) 访问说明符的理解和运用(public, protected, private)概述和背景参考文本和自行翻译定义案例代码分析细节自己编写的代码中使用分析个人格言(C++ Std 学习) 访问说明符的理解和运用(public, protected, private)概述和背景 自己平时写代码的过程中,其实是经常是会用面向对象的基本的操作的,就是访问控制说明嘛,有些变量不想暴露,只提供公共的接口之类的,有些接口和变量想要有子类继承或者重写,就能够提供一个基本的访问控原创 2021-04-14 10:51:39 · 610 阅读 · 0 评论 -
(C++ Std 学习) decltype 定义与使用
文章目录(C++ Std 学习) decltype 定义与使用概述和背景参考文本和自行翻译定义案例代码分析自己编写的代码中使用分析个人格言(C++ Std 学习) decltype 定义与使用概述和背景 在自己编写代码的项目中,有些地方碰到同事特别喜欢使用auto和decltype作为使用的方法,就是比较喜欢用C++11这个特性,我才发现自己之前对这方面有些抵触,我个人习惯是能不用auto就不用auto,不然一堆auto别人看了也不好理解到底是个什么类型,会导致代码可读性变的很差,不过还是意原创 2021-04-12 15:47:04 · 524 阅读 · 0 评论 -
(C++ std学习) —— auto 和 decltype的理解和使用
文章目录(C++ STD学习) —— auto 和 decltype的理解和使用概述和背景参考文本和自行翻译定义笔记案例代码分析自己编写的代码中使用分析个人格言(C++ STD学习) —— auto 和 decltype的理解和使用概述和背景 在自己编写代码的项目中,有些地方碰到同事特别喜欢使用auto和decltype作为使用的方法,就是比较喜欢用C++11这个特性,我才发现自己之前对这方面有些抵触,我个人习惯是能不用auto就不用auto,不然一堆auto别人看了也不好理解到底是个什么类原创 2021-04-12 12:40:21 · 337 阅读 · 0 评论 -
(Effective C++)读书学习笔记 —— 概览
文章目录(Effective C++)读书学习笔记 —— 概览个人格言(Effective C++)读书学习笔记 —— 概览视 C++ 为一个语言联邦(C、Object-Oriented C++、Template C++、STL)宁可以编译器替换预处理器(尽量以 const、enum、inline 替换 #define)尽可能使用 const确定对象被使用前已先被初始化(构造时赋值(copy 构造函数)比 default 构造后赋值(copy assignment)效率高)了解 C++ 默默编转载 2021-04-09 17:58:57 · 141 阅读 · 0 评论 -
(C++技巧学习) —— 理解和使用C++中函数指针的基础(学习笔记)
文章目录理解和使用C++中函数指针的基础概述 —— 函数指针的概念作用描述 —— 函数指针的用处获取函数的地址声明函数指针使用函数指针调用函数一般用法 —— 函数指针的写法(使用方法)声明赋值调用综合运用函数指针的案例程序工作中看到的案例个人格言理解和使用C++中函数指针的基础参考链接:万字长文系统梳理一下C++函数指针c++ 函数指针C++ ---------------- 成员函数指针揭秘希望简单的通过写一篇文章,在一个C++入门的基础上,对函数指针有一个基本的介绍和使用,也整理整理自原创 2021-04-01 11:52:23 · 302 阅读 · 0 评论 -
杂谈(转载) —— 垃圾代码书写准则
文章目录概况垃圾代码书写准则获取徽章准则???? 以一种代码已经被混淆的方式命名变量???? 变量/函数混合命名风格???? 不要写注释???? 使用母语写注释???? 尽可能混合不同的格式???? 尽可能把代码写成一行???? 不要处理错误???? 广泛使用全局变量???? 创建你不会使用的变量???? 如果语言允许,不要指定类型和/或不执行类型检查。???? 你应该有不能到达的代码???? 三角法则???? 混合缩进???? 不要锁住你的依赖项???? 函数长的比短的好???? 不要测试你的代码????转载 2021-03-04 17:44:03 · 307 阅读 · 2 评论 -
C++ 项目成长 —— 重定义一些自己平台关于字符串的系统操作
重定义一些自己平台关于字符串的系统操作概要TZOpenToolstzsofts_str_operations.h个人格言概要 书接上回,项目开始定义了一些系统的平台参数,具体可参见下面的文章:C++ 项目成长 —— 定义跨平台的参数宏的文件记录。 同时,在上次我们尝试去定义了一些编译选项自定义的宏,来控制不同的编译选项的时候,能够做一些区分,具体可以参考下面的文章:C++ 项目成长 —— 自定义编译参数宏,区分编译选项 上回说到一下关于自定义一些自己项目中所用到的数据类原创 2021-03-03 18:04:21 · 282 阅读 · 1 评论 -
C++ 项目成长 —— 自定义平台的定位追踪器
自定义平台的定位追踪器概要TZOpenToolstzsofts_trace_utils.htzsofts_trace_utils.cpp个人格言概要 书接上回,项目开始定义了一些系统的平台参数,具体可参见下面的文章:C++ 项目成长 —— 定义跨平台的参数宏的文件记录。 同时,在上次我们尝试去定义了一些编译选项自定义的宏,来控制不同的编译选项的时候,能够做一些区分,具体可以参考下面的文章:C++ 项目成长 —— 自定义编译参数宏,区分编译选项 上回说到一下关于自定义一些原创 2021-03-03 17:12:21 · 221 阅读 · 1 评论 -
C++ 项目成长 —— 自定义自己平台的Asserter工具的宏定义
自定义数据类型,定义各种类型别名, typedef的部分用法实例概要TZOpenToolstzsofts_debug_utils.h个人格言概要 书接上回,项目开始定义了一些系统的平台参数,具体可参见下面的文章:C++ 项目成长 —— 定义跨平台的参数宏的文件记录。 同时,在上次我们尝试去定义了一些编译选项自定义的宏,来控制不同的编译选项的时候,能够做一些区分,具体可以参考下面的文章:C++ 项目成长 —— 自定义编译参数宏,区分编译选项 上回说到一下关于自定义一些自己原创 2021-03-03 15:41:13 · 223 阅读 · 1 评论 -
Qt 杂记 —— Qt安装并配置调试文件,添加源码调试pdb文件
文章目录Qt 杂记 —— Qt安装并配置调试文件,添加源码调试pdb文件一、安装QT及QTCreator二、在VS中使用QT个人格言Qt 杂记 —— Qt安装并配置调试文件,添加源码调试pdb文件一、安装QT及QTCreator下载在线安装工具qt-unified-windows-x86-3.0.6-online.exe账号密码登陆,选择跳过也可以。选择安装位置选择QT下拉菜单中选择QT版本(如:QT 5.12.1),并在QT 5.12.1下拉菜单中选择所需的编译环境(选原创 2021-03-01 17:13:01 · 2314 阅读 · 3 评论 -
C++ 项目成长 —— 自定义系统中使用的Assert工具,类似Q_ASSERT的简化版
自定义数据类型,定义各种类型别名, typedef的部分用法实例概要TZOpenToolstzsofts_assert.htzsofts_assert.cpp个人格言概要 书接上回,项目开始定义了一些系统的平台参数,具体可参见下面的文章:C++ 项目成长 —— 定义跨平台的参数宏的文件记录。 同时,在上次我们尝试去定义了一些编译选项自定义的宏,来控制不同的编译选项的时候,能够做一些区分,具体可以参考下面的文章:C++ 项目成长 —— 自定义编译参数宏,区分编译选项 上回原创 2021-02-26 17:37:39 · 372 阅读 · 0 评论 -
C++ 项目成长 ——自定义数据类型,定义各种类型别名, typedef的部分用法实例
自定义数据类型,定义各种类型别名, typedef的部分用法实例概要TZOpenToolszsofts_types.h个人格言概要 书接上回,项目开始定义了一些系统的平台参数,具体可参见下面的文章:C++ 项目成长 —— 定义跨平台的参数宏的文件记录。 同时,在上次我们尝试去定义了一些编译选项自定义的宏,来控制不同的编译选项的时候,能够做一些区分,具体可以参考下面的文章:C++ 项目成长 —— 自定义编译参数宏,区分编译选项 那么今天,我就想要来说道说道,如何来定义自己原创 2021-02-26 11:07:52 · 372 阅读 · 0 评论 -
C++ 项目成长 —— 自定义编译参数宏,区分编译选项
自定义编译参数宏,区分编译选项概要TZOpenToolszsofts_compiler_specific.h个人格言概要 书接上回,上次开始定义了一些系统的平台参数,具体可参见下面的文章:C++ 项目成长 —— 定义跨平台的参数宏的文件记录。 然而,有了平台选项,自然就需要补充一些关于编译不同情境下的选项所对应的宏了,因此,便有了今日这个头文件提供的一系列编译参数宏所定义的工具,这些参数一般会在不同的编译环境下使用,用来区分需要编译和不需要编译的代码,以及通过宏来区分是否需要在某些原创 2021-02-25 10:30:53 · 2641 阅读 · 0 评论 -
Visual Studio 技巧分享 —— 用户自定义宏和给项目添加宏预处理
文章目录用户自定义宏和给项目添加宏预处理背景介绍案例展示实际应用场景参考文章个人格言用户自定义宏和给项目添加宏预处理背景介绍 在使用Visual Studio开发的过程中,常常我们会遇到需要用一些自定义宏来配置某些项目属性的情况,或者是在预处理器中像gcc 那边去添加一些预处理宏作为参数传入到对应的程序中,来决定一些程序逻辑的判断顺序,来决定去调用哪段代码。当遇到这种需求的时候,我们怎么在Visual Studio中来进行设置呢? 同样这个问题是我在日常工作中,还算是遇到频率比较高的原创 2021-02-09 13:49:04 · 8499 阅读 · 1 评论 -
Qt 例子解析 —— 官方flowWidgets案例解析与改进实验
文章目录官方flowWidgets案例解析与改进实验背景介绍案例解析FlowLayout类的定义FlowLayout类的实现完整代码**flowlayout.h:****flowlayout.cpp:****window.h:****window.cpp:****main.cpp:**实验小结个人格言官方flowWidgets案例解析与改进实验 官网对应的案例链接为:Flow Layout Example背景介绍 在实际开发过程中,有遇到一种需求,就是实现一种根据控件数量和Widge原创 2021-02-04 15:05:19 · 650 阅读 · 0 评论 -
C++ 技巧分享 —— 定义一些测试宏来区分正常逻辑代码和编写中间过程中希望加入的测试代码
文章目录定义一些测试宏来区分正常逻辑代码和编写中间过程中希望加入的测试代码背景介绍和使用技巧示例代码实际项目应用个人格言定义一些测试宏来区分正常逻辑代码和编写中间过程中希望加入的测试代码背景介绍和使用技巧 在我日常开发中,遇到了一些中间过程需要先写一些测试代码,或者是只有在Debug模式下才打log啊之类的操作,那么又不能破坏原先的开发的逻辑的情况下,那么就需要使用到一些宏定义来区分正常提交的逻辑代码和中间过程的测试代码。 这样就可以让我们的测试代码和Debug代码与最终需要提交的代原创 2021-02-03 18:02:25 · 432 阅读 · 0 评论