vector怎么转数组
时间: 2023-12-14 11:27:50 浏览: 67
可以使用vector的成员函数data()来获取指向vector底层数组的指针,然后使用指针访问数组元素,例如:
```cpp
#include <vector>
#include <iostream>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
int* arr = vec.data(); // 获取指向底层数组的指针
for (int i = 0; i < vec.size(); i++) {
std::cout << arr[i] << " "; // 访问数组元素
}
std::cout << std::endl;
return 0;
}
```
输出:
```
1 2 3 4 5
```
相关问题
QByteArray 转数组
`QByteArray` 是 Qt 库中的一个类,用于表示字节序列,类似于 C++ 中的 `std::vector<char>` 或者其他语言中的字节数组。如果你想要将 `QByteArray` 转换为普通 C++ 数组(通常是指 `char` 类型的一维数组),你可以使用 `data()` 函数获取其内部数据的指针,并指定长度。
以下是一个简单的示例:
```cpp
QByteArray byteArray = ... // 假设这是你要转换的 QByteArray
size_t length = byteArray.size(); // 获取字节数组的长度
// 创建 char 数组并复制数据
char* array = new char[length];
memcpy(array, byteArray.data(), length);
// 使用数组(注意:QByteArray 在这里结束后,你需要手动删除这个 char 数组)
// ...
// 使用 array...
// ...
// 在使用完后别忘了释放内存
delete[] array;
```
int转数组
将一个整数转换成数组,可以按照以下步骤进行操作:
1. 先将整数转换成字符串。
2. 遍历字符串,将每个字符转换成数字,并存储到数组中。
以下是C++代码实现示例:
```c++
int num = 12345;
string str = to_string(num);
vector<int> arr;
for(int i = 0; i < str.length(); i++){
arr.push_back(str[i] - '0');
}
```
在上述代码中,我们首先将整数`num`转换成字符串`str`,然后遍历字符串并将每个字符转换成数字,并将其添加到`arr`数组中。
阅读全文