C++ push_back()函数应用
2024-10-21 09:25:57
最近在学习Opencv,用C++写程序,做了一个虚拟画笔的项目,即通过摄像头采集视频图像信息,识别视频中的画笔,并画笔在空中的划痕显示在视频图像上。在进行到划痕显示的,由于视频是实时采集的,检测到的画笔位置坐标会不断更新,但是现在需要将划痕留在视频图像上。查阅到push_back()函数,首先他存在于vector头文件中,显然和vector有关,其功能是为指定vector容器尾部添加数据,并且该vector的容量随压入数据不断扩大,新压入数据和旧数据共存不会溢出。为了更加形象地了解其功能,用C++编写了一段简单的测试代码,建立一个vector并将大小为10的数组数据利用push_back()逐个压入其中,具体代码如下:
#include <iostream>
#include <string>
#include <vector> using namespace std ; int main(int argc, char const *argv[])
{
vector<char> str;
char str_push[10] = { 'a' , 'b' , 'c' , 'd' , 'e' , 'f' , 'g' ,'h' , 'i' , 'j'};
while(true)
{
for (int i = 0 ; i < 10 ; i++ )
{
str.push_back(str_push[i]) ;
cout<<"size of str is : "<<str.size()<<endl<<"date of str is : " ;
for (int j = 0; j < str.size(); j++)
{
cout<<str.at(j)<<" , " ;
}
cout<<endl ;
}
return 0;
}
}
运行结果:
可以看出,str随着数据不断压入容量也跟着不断扩大。
最新文章
- Poj-2250-Compromise
- YTU 3001: 判断操作是否合法(栈和队列)
- codevs 3732 解方程
- 线段和矩形相交 POJ 1410
- ANDROID_MARS学习笔记_S01原始版_003_对话框
- Node.js(window)基础(1)——用cmd命令行访问某一文件夹下的js文件
- 关于CSS选择器的效率问题
- web聊天室总结
- UNIX网络编程——客户/服务器程序设计示范(五)
- 认证模式之Spnego模式
- 【自然语言处理篇】--Chatterbot聊天机器人
- anaconda安装Opencv报错:Could NOT find PythonLibs: Found unsuitable version ";2.7.6";,
- springBoot(5)---单元测试,全局异常
- jquery 选择对象随心所欲,遍历数组更是易如反掌
- Ribbon Workbench The plug-in execution failed because the Sandbox Client encountered an error during initialization
- 开发升级-微信小程序(感谢黄秀杰老师)
- tensorflow实现猫狗大战(分类算法)
- h5笔记
- OpenCV-跟我学一起学数字图像处理之中值滤波
- 【译】第三篇 SQL Server代理警报和操作员