用<vector>实现动态数组例子
时间: 2023-04-06 22:05:02 浏览: 86
可以使用以下代码来使用<vector>实现动态数组:
#include <iostream>
#include <vector>
int main() {
std::vector<int> myVector; // 创建一个空的vector
// 向vector中添加元素
myVector.push_back(1);
myVector.push_back(2);
myVector.push_back(3);
// 输出vector中的元素
for (int i = 0; i < myVector.size(); i++) {
std::cout << myVector[i] << " ";
}
return 0;
}
这个程序会输出:1 2 3
相关问题
c++初始化全零vector<vector<int>>数组
在 C++ 中,你可以使用 std::vector 的构造函数以及嵌套的构造函数来初始化一个二维向量(vector<vector<int>>),使其所有元素都是全零的。下面是一个示例:
```cpp
#include <vector>
std::vector<std::vector<int>> zeroFilledMatrix(int rows, int cols) {
std::vector<std::vector<int>> matrix(rows, std::vector<int>(cols, 0)); // 使用范围推导创建全零向量
return matrix;
}
int main() {
int row = 3;
int col = 4;
std::vector<std::vector<int>> myZeroMatrix = zeroFilledMatrix(row, col);
for (const auto& inner : myZeroMatrix) { // 遍历外层向量
for (int element : inner) { // 遍历内层向量
std::cout << element << " "; // 输出每个元素,这里会打印出全是0
}
std::cout << "\n";
}
return 0;
}
```
在这个例子中,`zeroFilledMatrix` 函数接受行数和列数作为参数,然后返回一个大小为指定行数和列数的全零二维 vector。
vector<int>怎样接收数组参数
要使用`vector<int>`来接收数组参数,你可以使用以下方法:
```cpp
#include <vector>
void foo(const std::vector<int>& arr) {
// 使用arr进行操作
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
std::vector<int> vec(arr, arr + size); // 将数组转换为vector
foo(vec); // 将vector作为参数传递给函数
return 0;
}
```
在这个例子中,我们首先定义了一个`foo`函数,它接收一个`const std::vector<int>&`类型的参数。然后,在`main`函数中,我们创建了一个整型数组`arr`,并通过计算数组大小将其转换为`std::vector<int>`类型的向量`vec`。最后,我们将`vec`作为参数传递给`foo`函数。注意,我们使用`arr`和`arr + size`作为参数,在转换过程中,它们分别指向数组的起始和结束位置。
这样,你就可以在函数`foo`中使用`arr`参数来执行你想要的操作。
阅读全文