vector<point>
时间: 2023-10-16 09:07:34 浏览: 37
`vector<point>` 可以理解为一个存储 `point` 对象的动态数组,其中 `point` 是一个自定义的数据类型。在使用前需要先定义 `point` 类型,可以像下面这样实现:
```c++
class point {
public:
int x, y;
point(int x, int y) {
this->x = x;
this->y = y;
}
};
```
然后就可以创建 `vector<point>` 类型的变量,并向其中添加 `point` 对象了。例如:
```c++
vector<point> points;
points.push_back(point(1, 2));
points.push_back(point(3, 4));
```
这样就创建了一个包含两个 `point` 对象的 `vector`。可以使用下标或迭代器访问其中的元素,例如:
```c++
cout << points[0].x << ", " << points[0].y << endl; // 输出:1, 2
cout << points[1].x << ", " << points[1].y << endl; // 输出:3, 4
```
另外,`vector` 还提供了很多方便的操作函数,例如 `size()` 返回元素个数,`empty()` 判断是否为空,`clear()` 清空所有元素等等。
相关问题
vector<vector<Point>>
vector<vector<Point>>是一个二维的动态数组,其中每个元素是一个Point类型的向量。你可以通过使用vector类来创建和操作它。例如,你可以使用push_back函数将一个Point向量添加到vector<vector<Point>>中。你还可以使用下标或迭代器来访问和遍历这个二维数组的元素。请参考以下代码示例:
```cpp
#include <iostream>
#include <vector>
using namespace std;
struct Point {
int x, y;
};
vector<vector<Point>> points;
int main() {
vector<Point> p1;
Point d1;
d1.x = 1;
d1.y = 2;
p1.push_back(d1);
vector<Point> p2;
Point d2;
d2.x = 3;
d2.y = 4;
p2.push_back(d2);
points.push_back(p1);
points.push_back(p2);
cout << "Number of rows: " << points.size() << endl;
cout << "Number of columns in the first row: " << points<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [C++ 中vector的使用方法](https://blog.csdn.net/qq_34600424/article/details/79752815)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
vector<vector<Point>>跟vector<Point>
vector<vector<Point>>和vector<Point>是C++中的两种不同的数据结构。
vector<Point>是一个一维向量,其中的元素是Point类型的对象。可以通过push_back()函数向vector<Point>中添加元素,也可以通过下标访问和修改元素。
vector<vector<Point>>是一个二维向量,其中的元素是vector<Point>类型的对象。可以通过push_back()函数向vector<vector<Point>>中添加元素,也可以通过双重下标访问和修改元素。
下面是一个示例代码,演示了vector<vector<Point>>和vector<Point>的使用:
```cpp
#include <iostream>
#include <vector>
struct Point {
int x;
int y;
};
int main() {
// 创建一个vector<Point>对象
std::vector<Point> points;
// 添加元素到vector<Point>中
Point p1 = {1, 2};
Point p2 = {3, 4};
points.push_back(p1);
points.push_back(p2);
// 访问vector<Point>中的元素
std::cout << "vector<Point> elements:" << std::endl;
for (int i = 0; i < points.size(); i++) {
std::cout << "Point " << i << ": (" << points[i].x << ", " << points[i].y << ")" << std::endl;
}
// 创建一个vector<vector<Point>>对象
std::vector<std::vector<Point>> pointVectors;
// 添加元素到vector<vector<Point>>中
pointVectors.push_back(points);
// 访问vector<vector<Point>>中的元素
std::cout << "vector<vector<Point>> elements:" << std::endl;
for (int i = 0; i < pointVectors.size(); i++) {
std::cout << "Vector " << i << ":" << std::endl;
for (int j = 0; j < pointVectors[i].size(); j++) {
std::cout << "Point " << j << ": (" << pointVectors[i][j].x << ", " << pointVectors[i][j].y << ")" << std::endl;
}
}
return 0;
}
```
输出结果:
```
vector<Point> elements:
Point 0: (1, 2)
Point 1: (3, 4)
vector<vector<Point>> elements:
Vector 0:
Point 0: (1, 2)
Point 1: (3, 4)
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)