std::vector<std::vector<POINTS>>
时间: 2023-12-26 13:05:16 浏览: 26
std::vector<std::vector<POINTS>> 是一个二维向量,其中每个元素都是一个向量,而每个向量中的元素是 POINTS 类型的对象。std::vector 是 C++ 标准库中的容器类,用于存储和操作动态数组。它提供了一系列的成员函数和操作符,可以方便地对向量进行增删改查等操作。
相关问题
std::vector<std::vector<double>> points 声明之后,怎么设置行列
可以使用`resize`函数设置行列,示例代码如下:
```
std::vector<std::vector<double>> points; // 声明一个二维数组
int rows = 3, cols = 4; // 设置行列
points.resize(rows); // 设置行数
for (int i = 0; i < rows; i++) {
points[i].resize(cols); // 设置列数
}
```
该代码先声明了一个二维数组`points`,然后设置了行数为3,列数为4。接着使用`resize`函数设置了行数为3,然后在循环中对每行设置了列数为4。这样就创建了一个3行4列的二维数组。你可以根据实际需求修改行列数。
std::vector<cv::Point>转换为QVector<QPoint>
可以以下代码将`std::vector<cv::Point>`转换为`QVector<QPoint>`:
```c++
#include <QVector>
#include <QPoint>
#include <vector>
#include <opencv2/core/core.hpp>
QVector<QPoint> vectorCvPointToQPoint(const std::vector<cv::Point>& points) {
QVector<QPoint> qPoints;
for (const cv::Point& point : points) {
qPoints.append(QPoint(point.x, point.y));
}
return qPoints;
}
```
您可以通过调用 `vectorCvPointToQPoint` 函数并传入 `std::vector<cv::Point>` 类型的数据来获得 `QVector<QPoint>` 类型的数据。