分类: C/C++小记

6 篇文章

枚举类型enum和enum class的区别
1. 枚举enum 传统的枚举类型,帮助开发者快速定义一系列整形常量。关于枚举类型的介绍和使用在这里不再过多介绍,示例如下: class MyClass{ public: enum Color { RED, // 0 GREEN, // 1 BLUE // 2 }; }; 相比于enum class的特点: enum的成员直接暴露在其定义的作用域中…
区分C++初始化时使用大小括号
本文对普通变量、普通类对象在初始化时使用()和{}的情况进行区分说明,以免混淆不清。 一般使用()是使用构造函数初始化,使用{}是使用列表初始化,如下。 1. 基本初始化(略过) 这里大概对基本初始化方式做一个归纳 1.1 默认初始化 即只声明,让其调用默认构造函数。 对于基本变量类型(如int、double...),只声明就不会定义具体的初始值。…
C++优化程序的Tips
1. 避免创建过多中间变量 过多的中间变量不利于代码的可读性,还会增加内存的使用,而且可能导致额外的计算开销。 将用于同一种情况的变量统一管理,可以使用一种通用的变量来代替多个变量。 2. 函数中习惯使用引用传参而不是返回值赋值 常有的一种情况是,需要使用函数进行计算或处理数据,并通过其返回值获得结果。 对于简单的计算或处理,直接使用返回值返回结果…
解决vcpkg使用VS2022报错问题
最近,在把Visual Studio2019完全更新到最新Visual Studio2022后,原使用的vcpkg无法正常安装包,会报如下与Visual Studio 2022相关的错误: error: in triplet x64-windows-mixed: Unable to find a valid Visual Studio instan…
Visual Studio快捷键
个人记录防忘,无营养 常用: 快捷键 功能 CTRL + K + C 注释选定内容 (Comment) CTRL + K + U 取消选定注释内容 (UnComment) ... ... 全部: 注:“、”表示释放前一个按钮后再快速按下一个按钮 1. 窗口相关 编号 快捷键 功能 1 CTRL + W、W 浏览器窗口 2 CTRL + W、S 解决…
ZeroMQ和NanoMSG的选择/对比
以前一直在使用ZeroMQ库处理通信,但因为最近需要做一个一对多的双向实时通信,ZeroMQ提供的几种通信模式就难以很好地实现,于是就去寻找其他的库,比如NanoMsg库。 在我实际使用中,这两个库有着很大不同,下面我列出几点我使用时最注意的几点,之后如有新的理解再更新。 按照官方的说明,NanoMsg相当于ZeroMQ的改进升级版。 官方对两者的…