C++ – Jni中的GetByteArrayElements和GetByteArrayRegion的区别和使用示例
1 Jni中的GetByteArrayElements和GetByteArrayRegion的区别和使用示例 在通过Jni接口从Java层向C/C++传递字节数组时,经常会使用GetByteArrayElements和GetByteArrayRegion两种方法获取字节数组。 1.1 GetByte…
- C++
- 2022-03-14
C++ – 字节数组byte[]或者unsigned char[]与short的相互转换
设定short型长度为2。 1 short转字节数组 short型转字节数组byte[]或者unsigned char[] void ShortToBytes(short value, unsigned char* bytes) { size_t length = sizeof(short); me…
- C++
- 2022-03-13
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
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容器修改、元素操作总结 push_back,emplace_back,emplace,insert,erase,pop_back,clear,resize,swap
1 std::vector操作函数 1.1 push_back push_back的作用主要是将给定值添加到容器末尾。 pusk_back在执行压入操作时需要初始化一个新的元素,然后再将给定值拷贝到新元素中。 std::vector<int> myVector; PrintVector(…
- 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