C++ – 字节数组byte[]或者unsigned char[]与long long的相互转换
设定long long型长度为8。 1 long long转字节数组 long long型转字节数组byte[]或者unsigned char[] void LongLongToBytes(long long value, unsigned char* bytes) { size_t length …
- C++
- 2022-03-12
C++ – 字节数组byte[]或者unsigned char[]与long的相互转换
设定long型长度为4字节。 1 long转字节数组 long型转字节数组byte[]或者unsigned char[] void LongToBytes(long value, unsigned char* bytes) { size_t length = sizeof(long); memset…
- C++
- 2022-03-11
Visual Studio – 借助远程Linux服务器环境在Visual Studio中编写和远程调试Linux C++程序
1 环境准备 1.1 安装使用C++的Linux开发的工具集 首先需要在Visual Studio Installer中安装使用C++的linux开发的工具集 等待使用C++的Linux开发的工具集安装完成,并重启Visual Studio。 1.2 准备可远程的Linux服务器以及在远程服务器安装…
- Visual Studio
- 2022-03-08
C++ – C++类的特殊成员函数,析构函数,拷贝构造函数,移动构造函数,赋值运算符,移动赋值运算符介绍和基础语法
本文将对C++类中的默认构造函数,带参构造函数,移动构造函数,拷贝构造函数(复制构造函数),赋值运算符,移动赋值运算符等的特殊成员函数基本用法和基础语法进行简要的介绍和总结。 1 C++类常用的特殊成员函数 1.1 类的默认构造函数 默认构造函数是不需要实参就可以调用的构造函数。 1.2 类的拷贝构…
- C++
- 2022-03-07
C++STL容器 – std::map查找元素与判断键值是否存在方法总结 count,find,contains,equal_range,lower_bound,upper_bound
本文将对容器std::map如何查找元素与判断键值是否存在的方法进行总结。 1 std::map查找元素 1.1 count count函数的作用主要是返回在std::map中指定键值的数量,因为std::map的键值不可重复,所以如果std::map存在指定键值,则返回1,如果std::map中不…
- C++
- 2022-03-02
C++STL容器 – std::map容器修改、元素操作总结 clear,insert,emplace,erase,swap,merge,extract,insert_or_assign等
std::map是一个排序的关联容器,具有唯一键值特性。其实现底层数据结构为红黑树。在红黑树上的查找、插入、删除操作的算法复杂度为O(logN)。本文将对std::map的有关容器修改的函数进行说明和总结。 1 std::map常见函数 1.1 std::map容器修改操作函数 1.1.1 clea…
- C++
- 2022-03-01
C++STL容器 – std::map删除指定元素
1 for循环遍历std::map删除指定元素 1.1 第一种方式 #include <iostream> #include <map> #include <string> void PrintMap(const std::map<int, std::str…
- C++
- 2022-02-25
C++STL容器 – std::vector元素访问方式总结
1 std::vector元素访问方式 std::vector提供多种方式访问容器中的元素。std::vector的at函数,[]操作符,front函数,back函数都可以对std::vector的元素进行读写操作。 1.1 at函数 访问指定索引元素,并在访问时进行索引边界检查。如果索引越界,将抛…
- C++
- 2022-02-22
C++STL容器 – std::vector构造方式与分配值方式总结
1 std::vector std::vector是可动态调整大小的序列容器,可以根据需要自动进行增加内存或者减少内存。相比于静态数组,std::vector占用更多的内容空间,主要是为了分配更多的内存空间用于未来元素增加所带来的内存消耗。一般来说,std::vector的所占内存大小不会在每次压入…
- C++
- 2022-02-22
C++ – 将一维数组/二维数组/三维数组作为函数参数传递给函数
在本文中将详细说明如何将一维数组、二维数组、三维数组作为函数参数传递给函数进行处理。 在C++中,一维数组可以理解为包含n个数字的内存块,例如int a[3]表示数组a为包含3个int类型数字的内存块; 二维数组可以理解以一维数组为元素的一维数组,例如2行3列的二维数组可以理解为两个元素的一维数组,…
- C++
- 2022-01-25
C++ – 使用宏区分不同系统平台、不同编译器、不同编译模式等编译期宏使用总结
1 区分不同系统平台 //----------------------------- #if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__) #ifdef _WIN64 // win64 #else…
- C++
- 2022-01-25
C++ – 使用Crypto++/CryptoPP加解密库对字符串或者文件进行AES256加密
1 AES加密算法 Crypto++/CryptoPP加解密库官网:https://www.cryptopp.com/ 在写桌面程序的时候一些自定义的数据文件不可避免的需要放在本地,通常这种数据文件保存了一些敏感信息,所以必须想办法对其进行加密。然后在程序中对这种数据文件进行解密然后读取正确的内容。…
- C++
- 2022-01-14