还有什么push_back
时间: 2023-08-08 08:09:41 浏览: 80
`push_back` 是 C++ STL 中的一个函数,它可以将一个元素添加到容器的末尾。
具体来说,对于 `vector` 容器来说,`push_back` 函数的作用是将一个元素添加到向量的末尾,并使向量的大小增加 1。例如,下面的代码将整数 `5` 添加到一个 `vector` 容器中:
```c++
#include <vector>
#include <iostream>
int main() {
std::vector<int> v;
v.push_back(5);
std::cout << "The size of vector is " << v.size() << std::endl;
return 0;
}
```
输出结果为:
```
The size of vector is 1
```
类似地,对于其他的容器类型,如 `list`、`deque` 和 `string` 等,也都有相应的 `push_back` 函数,它们的作用都是将一个元素添加到容器的末尾。
相关问题
int m, n; for (m = 0; m < contours.size(); m++) { for (n = 0; n < contours[m].size(); n++) { switch (m) { case 0: point_0.push_back(contours[m][n]); break; case 1: point_1.push_back(contours[m][n]); break; case 2: point_2.push_back(contours[m][n]); break; case 3: point_3.push_back(contours[m][n]); break; case 4: point_4.push_back(contours[m][n]); break; case 5: point_5.push_back(contours[m][n]); break; case 6: point_6.push_back(contours[m][n]); break; case 7: point_7.push_back(contours[m][n]); break; case 8: point_8.push_back(contours[m][n]); break; case 9: point_9.push_back(contours[m][n]); break; case 10: point_10.push_back(contours[m][n]); break; case 11: point_11.push_back(contours[m][n]); break; case 12: point_12.push_back(contours[m][n]); break; case 13: point_13.push_back(contours[m][n]); break; case 14: point_14.push_back(contours[m][n]); break; case 15: point_15.push_back(contours[m][n]); break; case 16: point_16.push_back(contours[m][n]); break; case 17: point_17.push_back(contours[m][n]); break; case 18: point_18.push_back(contours[m][n]); break; case 19: point_19.push_back(contours[m][n]); break; default: cout << "input error" << endl; } } } Mat img(321, 432, CV_8UC1, cv::Scalar(0));
这段代码是对轮廓进行分类并将每一类轮廓的点存储在不同的容器中,然后创建一个大小为321x432的黑色图像。其中,contours是一个向量容器,存储了检测到的轮廓,m和n是循环变量,point_0至point_19是存储不同类别轮廓点的向量容器。在循环中,通过switch语句根据m的值将每个点存储在对应的容器中。最后,使用cv::Scalar(0)创建一个颜色为黑色的Mat对象,作为输出的图像。
vecParams.push_back(make_pair(adInteger, "a")); vecParams.push_back(make_pair(adInteger, "b")); vecParams.push_back(make_pair(adInteger, "c")); vecParams.push_back(make_pair(adInteger, "d")); vecParams.push_back(make_pair(adInteger, "e"));
这段代码有问题,其中的参数类型与参数值类型不匹配。具体来说,参数类型应该是整型,而参数值是字符串类型,这将导致类型不匹配的错误。应该将参数值改为整型才能正确执行。
修改后的代码如下:
```
vecParams.push_back(make_pair(adInteger, 123));
vecParams.push_back(make_pair(adInteger, 456));
vecParams.push_back(make_pair(adInteger, 789));
vecParams.push_back(make_pair(adInteger, 101112));
vecParams.push_back(make_pair(adInteger, 131415));
```
这里将参数值从字符串类型改为整型类型,分别为 123、456、789、101112 和 131415。这样就可以正确执行了。
阅读全文