C++ 怎么把多个const double数组保存到一个std::vector<const double>数组里
时间: 2024-01-20 10:04:13 浏览: 66
你可以使用 `std::vector<const double*>` 来保存多个 `const double` 数组的指针。下面是一个示例代码:
```cpp
#include <iostream>
#include <vector>
int main() {
const double arr1[] = {1.1, 2.2, 3.3};
const double arr2[] = {4.4, 5.5, 6.6};
std::vector<const double*> vec;
vec.push_back(arr1);
vec.push_back(arr2);
for (const double* arr : vec) {
for (int i = 0; i < 3; ++i) {
std::cout << arr[i] << " ";
}
std::cout << std::endl;
}
return 0;
}
```
在上面的示例中,我们定义了两个 `const double` 数组 `arr1` 和 `arr2`,然后将它们的指针添加到 `std::vector<const double*>` 中。注意,我们使用了指针类型 `const double*` 而不是直接使用 `const double`,因为向量中存储的是指针而不是值本身。
然后,我们可以通过遍历向量和数组来访问存储在向量中的多个数组的元素。
相关问题
C++ 怎么把多个const double数组保存到一个std::vector数组里
你可以使用`std::vector<std::array<const double, N>>`来保存多个`const double`数组到一个`std::vector`中,其中`N`是每个数组的大小。以下是一个示例代码:
```cpp
#include <iostream>
#include <vector>
#include <array>
int main() {
const double arr1[] = {1.0, 2.0, 3.0};
const double arr2[] = {4.0, 5.0, 6.0};
const double arr3[] = {7.0, 8.0, 9.0};
std::vector<std::array<const double, 3>> vec;
vec.push_back({arr1[0], arr1[1], arr1[2]});
vec.push_back({arr2[0], arr2[1], arr2[2]});
vec.push_back({arr3[0], arr3[1], arr3[2]});
// 访问 vector 中的元素
for (const auto& arr : vec) {
for (const auto& num : arr) {
std::cout << num << " ";
}
std::cout << std::endl;
}
return 0;
}
```
这段代码将三个`const double`数组存储在一个`std::vector<std::array<const double, 3>>`中,并通过嵌套的循环遍历访问每个数组的元素。
C++ std::vector<const double> campos怎么把数组保存进去
对于存储常量类型的数组,您可以使用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`向量中。最后,我们遍历向量并打印每个指针指向的值。
请注意,这种方法仅适用于保存常量类型的数组。如果您需要修改数组中的元素,则应使用非常量类型。
阅读全文