C++ std::vector<const double> campos怎么把数组保存进去
时间: 2023-09-25 15:10:16 浏览: 98
对于存储常量类型的数组,您可以使用C++的`std::vector`容器。请注意,`std::vector`不支持存储常量类型的元素,因此您需要使用指针类型来存储`const double`数组。以下是一个示例代码:
```cpp
#include <iostream>
#include <vector>
int main() {
const double arr[] = {1.1, 2.2, 3.3, 4.4, 5.5}; // 假设有一个const double数组
std::vector<const double*> campos;
for (int i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) {
campos.push_back(&arr[i]); // 将数组元素的地址存储在vector中
}
// 打印vector中的元素
for (const double* ptr : campos) {
std::cout << *ptr << " ";
}
return 0;
}
```
在上述示例中,我们创建了一个常量类型的`double`数组`arr`。然后,我们使用`std::vector<const double*>`来存储数组元素的地址。通过使用指针类型,我们可以将常量类型的元素存储在`std::vector`中。在循环中,我们将数组元素的地址添加到`campos`向量中。最后,我们遍历向量并打印每个指针指向的值。
请注意,这种方法仅适用于保存常量类型的数组。如果您需要修改数组中的元素,则应使用非常量类型。
阅读全文