gpt4 book ai didi

C++ push_back()函数使用详解

转载 作者:qq735679552 更新时间:2022-09-27 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章C++ push_back()函数使用详解由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

最近在学习Opencv,用C++写程序,做了一个虚拟画笔的项目,即通过摄像头采集视频图像信息,识别视频中的画笔,并画笔在空中的划痕显示在视频图像上。在进行到划痕显示的,由于视频是实时采集的,检测到的画笔位置坐标会不断更新,但是现在需要将划痕留在视频图像上。 经过查阅,push_back()函数可以实现这个功能,首先他存在于vector头文件中,显然和vector有关,其功能是为指定vector容器尾部添加数据,并且该vector的容量随压入数据不断扩大,新压入数据和旧数据共存不会溢出。为了更加形象地了解其功能,用C++编写了一段简单的测试代码,建立一个vector并将大小为10的数组数据利用push_back()逐个压入其中,具体代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#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;
     }
}

运行结果:

C++ push_back()函数使用详解

可以看出,str随着数据不断压入容量也跟着不断扩大。利用push_back()函数继续实现开始提到的划痕显示,建立一个vector容器用于存储画笔坐标点数据,push_back()函数将不断更新的坐标数据压入该容器中,即可实现划痕停留显示。最终显示效果如下:

C++ push_back()函数使用详解

可以忽略这个背景。。.

到此这篇关于C++ push_back()函数使用详解的文章就介绍到这了,更多相关C++ push_back()函数内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。

原文链接:https://blog.csdn.net/qq_30009067/article/details/115347522 。

最后此篇关于C++ push_back()函数使用详解的文章就讲到这里了,如果你想了解更多关于C++ push_back()函数使用详解的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com