C++
文章平均质量分 79
lCOODE
兴趣使然
展开
-
条件编译#ifdef的妙用详解_透彻
c++条件编译详解转载 2022-03-23 17:44:39 · 13495 阅读 · 0 评论 -
vs的一些编译选项(持续更新)
文章目录提高编译速度的选项/MP/Gm-预编译头提高编译速度的选项/MP开启多线程编译,默认时开启的状态,注意该选项和下面的/Gm-选项是互相冲突的,即开启了该选项,就必须关闭Gm-选项,否则多线程编译无法生效;vs设置:c/c++ 》 常规 》 多处理器编译。默认是打开状态/Gm-(已弃用)开启这个选项后,一些修改的头文件可能不会被重新编译。这个选项在新版本的编译器中已被弃用。为了缩短生成时间,建议改为使用预编译标头和增量和并行生成(/MP)选项。vs设置:c/c++ 》 代码生成 》启用最原创 2021-11-27 20:04:38 · 1761 阅读 · 0 评论 -
boost 之序列化和反序列化
文章目录序列化操作简介主要特征详细介绍序列化内置类型序列化stl容器序列化自定义类型(侵入式)序列化指针和引用序列化自定义类型(非侵入式)序列化继承类版本控制参考文档序列化操作简介序列化是将程序数据保存到磁盘中比较方便的一种方式,简单理解序列化就是将程序中的数据统一转化成字符串最终保存在磁盘中或进行网络传输,同时可通过反序列化过程恢复程序数据,是数据储存和数据传输的利器。有很多第三方库可以做序列化,boost库的序列化的功能是我比较常用的一种序列化方法,下文将详细介绍boost的序列化操作。主要特征原创 2021-11-13 10:30:11 · 2751 阅读 · 0 评论 -
c++11的移动语义和完美转发
移动语义和完美转发之前都是似懂非懂的状态,趁这两天比较得空,将这两个概念重新梳理了一遍整理成该文,方便记忆。移动语义和完美转发是c++11中为了更好支持模板编程而新增的特征,所以如果基本不会用到模板编程,或者只是简单的使用,其实也没必要浪费时间去理解这两个概念,但如果想尝试写出更好的泛型代码,还是有必要好好理解下的。移动语义所谓的移动语义是指将一块内存单元(可以是变量的内存单元也可以是临时对象的内存单元)从一个对象转移到另一个对象。移动语义实现的关键在于接下来要讲到的右值引用。和移动语义相对的概原创 2021-08-12 10:07:25 · 459 阅读 · 0 评论 -
google test入门
简介googletest (下文简称gt)帮助你写更好的c++测试。gt是由测试技术团队根据Google的特定要求和约束开发的测试框架。无论是在Linux,Windows还是Mac上工作,googletest都可以为你提供帮助。它支持任何类型的测试,而不仅仅是单元测试。什么是好的测试,gt是如何做到这点的:测试必须是独立,可重复的。gt通过在不同的对象中测试用例,以使各个测试用例互相独立。测试应该有很好的组织和反应所测试代码的结构的能力。gt将相关的测试组合成测试套件,测试套件内可以共享数据和子原创 2020-11-03 20:03:27 · 754 阅读 · 0 评论 -
C++的异常处理机制(待续)
异常类匹配方式throw抛出的异常类型和catch中处理的异常类型需严格匹配,异常处理器不做类型转换,下面几种情况除外: 1. 基类可以匹配到派生类这个在函数和异常匹配中都是有效的,但是需要注意catch的形参需要是引用类型或者是指针类型,否则会导致切割派生类这个问题。 2. 允许非常量到常量的烈性转化 3. 允许数组被转换为数组指针,允许函数被转换为函数指针...原创 2018-08-21 19:50:05 · 195 阅读 · 0 评论