C++基础
文章平均质量分 50
自己梳理,并开放出来给大家看看
盒子小猫
这个作者很懒,什么都没留下…
展开
-
关于数据大小端的部分问题
存入单个寄存器,直接将数据逆序就行了,对于多寄存器方式的存入或传输,在逆序后还需要将单个字节进行交换,所以需要加入一个交换的函数。写程序的时候碰到了数据写入数据库时需要对数据的大小端的处理,所以记录一下这个问题。00 01 00 02 00 03 00 04(高位在前低位在后的一个逻辑)04 00 03 00 02 00 01 00(低位在前,高位在后)具体怎么实现,我就不多说了,原理很简单。对于寄存器来说,小端模式符合存储的逻辑。附上我通用的转换代码。原创 2023-12-06 11:07:18 · 433 阅读 · 0 评论 -
容器Vector的用法(基础版)
容器vector是一种C++标准库提供的动态数组,它可以存储任何类型的数据,并且可以根据需要自动调整大小。可以使用resize、reserve、shrink_to_fit等方法调整容器的大小和容量。可以使用emplace、emplace_back等方法在容器中直接构造元素,提高效率。可以通过下标或迭代器访问元素,支持随机访问,时间复杂度为O(1)。可以使用范围for循环遍历元素,或者使用STL算法对元素进行操作。可以在尾部插入或删除元素,时间复杂度为O(1)。原创 2023-11-14 11:53:50 · 101 阅读 · 0 评论 -
CreateFile详解
FILE_SHARE_READ 或 FILE_SHARE_WRITE 表示允许对文件进行读/写共享访问;·FILE_FLAG_DELETE_ON_CLOSE:关闭了上一次打开的句柄后,将文件删除。·FILE_FLAG_SEQUENTIAL_SCAN:针对连续访问对文件缓冲进行优化。·FILE_FLAG_WRITE_THROUGH:操作系统不得推迟对文件的写操作。·FILE_FLAG_RANDOM_ACCESS:针对随机访问对文件缓冲进行优化。·FILE_ATTRIBUTE_READONLY:文件为只读。原创 2023-09-12 16:12:09 · 225 阅读 · 0 评论 -
C++String对象转换char类型数组
具体过程就是先将寄存器地址中的数据取出来,寄存器数据大小为8个字节,那就使用8个字节类型的对象来取数据,再将取数据的对象转换成对应大小的字节数组,再将数组通过to_string转换成string类型,再建立对应大小的数组,通过拷贝将字符串拷贝到数组中去。我的解决思路是这样的,既然我要拿到这个数据,那就先把数据从寄存器中取出来,寄存器的配置大小为八个字节,所有我设置一个 unsigend long long类型,大小为8个字节。最后,将该字符串存储在一个 char 数组中。原创 2023-09-06 19:22:27 · 516 阅读 · 0 评论 -
C++中CreateFile、ReadFile和WriteFile的作用和使用方法
需要注意的是,上述函数中的句柄变量(如hFile)必须是有效的句柄,而且对应的文件或设备必须已经成功打开。同时,我们还可以根据具体需求设置其他参数,如读写操作的偏移量、重叠(overlapped)方式等。在C++中,CreateFile、ReadFile和WriteFile是一组用于文件和设备IO操作的函数。原创 2023-08-09 18:02:32 · 1274 阅读 · 1 评论 -
C++中SetCommMask的作用和使用方法
SetCommMask()函数用于设置要监视的串口事件,通过指定相应的事件掩码,可以选择监视需要的事件类型。在事件发生时,可使用WaitCommEvent()函数等待事件的发生并采取相应的处理措施。在C++中,SetCommMask()是Windows API提供的一个函数,用于设置串口通信的事件掩码。原创 2023-08-09 18:12:34 · 271 阅读 · 1 评论 -
c++中的类型转换
在C++中,可以使用不同的类型转换来将一个值从一种类型转换为另一种类型。原创 2023-08-09 14:16:36 · 62 阅读 · 1 评论 -
C++中SetupComm的作用和使用方法
在C++中,SetupComm()是Windows API提供的一个函数,用于设置串口通信的缓冲区大小。原创 2023-08-09 18:10:57 · 503 阅读 · 1 评论 -
c++类的知识总结
【代码】c++类的知识总结。原创 2023-08-09 14:37:07 · 174 阅读 · 1 评论 -
list容器详解
当你需要在C++中处理一个线性列表时,可以使用list容器。list是一个双向链表容器,提供了高效地插入和删除元素的能力。以下是有关list。原创 2023-08-10 18:05:42 · 91 阅读 · 1 评论 -
C++的ResetEvent的作用和使用方法
需要注意的是,ResetEvent函数只是将事件对象的状态重置为非触发状态,并不会清除事件对象。如果需要清除事件对象,可以使用CloseHandle函数关闭事件对象的句柄。ResetEvent函数的作用是将事件对象的状态重置为非触发状态。当事件对象处于非触发状态时,任何等待该事件对象的线程都会被阻塞,直到事件对象被触发。创建事件对象时,需要指定事件的初始状态。在C++中,ResetEvent函数用于将指定的事件对象重置为非触发状态。重置事件对象后,等待该事件对象的线程将会被阻塞,直到事件对象被触发。原创 2023-08-09 17:53:21 · 242 阅读 · 1 评论 -
C++迭代器详解
迭代器是一种用于遍历容器中元素的对象,它提供了对容器中元素的访问和操作方法。在C++中,不同类型的容器提供了不同种类的迭代器。接下来,我将详细介绍迭代器的类型和使用方法,并提供相应的代码演示。迭代器在C++中的具体头文件取决于所使用的容器类型。不同的容器类有不同的迭代器类型和对应的头文件。运算符递减迭代器,使其指向前一个元素(适用于双向迭代器和随机访问迭代器)。运算符解引用迭代器,访问迭代器当前指向的元素。声明迭代器类型和迭代器对象。函数获取容器的起始迭代器。函数获取容器的终止迭代器。原创 2023-08-10 17:59:38 · 247 阅读 · 1 评论 -
C++中的Using的四种用法
在C++中,函数重载是指在同一个作用域中定义多个同名函数,但它们的参数列表不同。关键字也可以用于引入命名空间中的成员,使得我们可以直接使用这些成员而不必使用完整的命名空间限定符。来引入重载函数,可以让它们在同一个作用域中可见,并且可以根据调用时的参数类型选择正确的重载函数。关键字可以用来声明类型的别名,使得我们可以用一个短的、易于理解的名称来代替较长或复杂的类型名。命名空间中的所有成员引入到当前的命名空间中,让我们可以直接使用。,使得我们可以直接使用它们,而不必使用完整的命名空间限定符。原创 2023-08-18 09:13:03 · 920 阅读 · 1 评论