C++ push_back()函数应用
最近在学习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随着数据不断压入容量也跟着不断扩大。
C++ push_back()函数应用的更多相关文章
- STL中容器的push()或者push_back()函数的一点说明
在STL的queue 或者 vector.list等容器适配器或者容器中,会经常用到的函数就是push()或者push_back()函数,但是有一点需要明确的是: 在使用这些函数对容器/适配器对象增加 ...
- vector 类中的 push_back( ) 函数
函数名 push_back,算法语言里面的一个函数名,如: 1) c++中的vector头文件里面就有这个push_back函数: 2) 在vector类中作用为在vector尾部加入一个数据 ...
- vector中的push_back函数的意思是什么
push_back 就是在vector的末尾插入一个元素, vector 中的erase()函数,从指定容器删除指定位置的元素或者某段范围内的元素,删除之后,返回值也是一个迭代器,指向最后一个删除 ...
- 函数 resize和reserve的区别
reserve是容器预留空间,但在空间内不真正创建元素对象,所以在没有添加新的对象之前,不能引用容器内的元素.加入新的元素时,要调用push_back()/insert()函数. resize是改变容 ...
- deque源码3(deque的构造与内存、ctor、push_back、push_front)
deque源码1(deque概述.deque中的控制器) deque源码2(deque迭代器.deque的数据结构) deque源码3(deque的构造与内存.ctor.push_back.push_ ...
- c++模板函数声明定义分离编译错误详解
今天看到accelerated c++上有个简单的vector容器的实现Vec,就再vs2008上编译了下: ///// Vec.h #ifndef GUARD_VEC_H #define GUARD ...
- STL的一些技巧函数使用
1.emplace() 函数和 emplace_back() 函数 C++11的STL中新增加了emplace() 函数和 emplace_back() 函数,用来实现insert() 函数和 pus ...
- C++ string push_back()
函数功能: 在后面添加一项 vector头文件的push_back函数,在vector类中作用为在vector尾部加入一个数据.string中的push_back函数,作用是字符串之后插入一个字符. ...
- c++中vector函数
std::vector <cv::Point> VectorPoints 说明:首先定义一个Point(即Point2i---二维整型的点)类型的变量VectorPoints,这就是我们创 ...
- 基于ARM处理器的反汇编器软件简单设计及实现
写在前面 2012年写的毕业设计,仅供参考 反汇编的目的 缺乏某些必要的说明资料的情况下, 想获得某些软件系统的源代码.设计思想及理念, 以便复制, 改造.移植和发展: 从源码上对软件的可靠性和安全性 ...
随机推荐
- 配置VS Code链接外部gsl库文件
配置VS code在C语言中调用gsl库文件 gsl安装 sudo apt-get install libgsl0-dev 先确认gsl库,gcc都已正确安装,命令行 gcc -L/usr/local ...
- sleep(0)的意义
Thread.Sleep(0) 并非是真的要线程挂起0毫秒,意义在于这次调用Thread.Sleep(0)的当前线程确实的被冻结了一下,让其他线程有机会优先执行. Thread.Sleep(0) 是你 ...
- Day_1(并查集朋友圈、字典序排序)
1.并查集 朋友圈:找出最多的一个圈子内有多少用户! id[](表示当前节点的父节点) nodeNum[] (表示当前节点为根的那一组节点数量) import java.util.Scanner; / ...
- 用Bootstrap设计后端页面模板
<!doctype html><html lang="zh-CN"> <head> <meta charset="utf-8&q ...
- 关于右值 std::move
今天发现一个情况,对容器map 进行 std::move 之后,原map被清空了. map<int, int> tmp; tmp[1] = 1; tmp[2] = ...
- MAC 不带XIB新建ViewController
- (void)loadView{ NSView *view = [[NSView alloc]init]; self.view = view; } MAC 开发的小伙伴
- 基于ipset的dns代理
###基于源IP的dns白名单 sleep 60s/etc/init.d/firewall restart ###创建ipset集合 命名为src_dns_whitelist#清空原有命名为src_d ...
- 生成虚拟mac地址通过dhcp获取ip,耗尽dhco地址池
平台:kali 软件:dhcpstarv 命令 dhcpstarv -i 网卡名称 -e 本机IP 查看dhcp服务器已经分发的地址 cat /tmp/dhcp.leases
- 使用myBadboy(python自主开发工具)启动谷歌浏览器并自动录制jmeter脚本
一.源代码下载 https://gitee.com/rmtic/mybadboy 说明:因现有的录制方法有不能定制等不足之处,所以自力更生,自动生成对应jmeter脚本,减少维护成本 二.操作说明 1 ...
- guide, manual, tutorial之间的区别
总结:一般而言,guide表示用户指南,提供简要的信息:manual表示用户手册,提供较为完整深入的说明:tutorial表示教程,提供详细的说明,侧重于给没有经验的人一步一步进行详细的指导.实际情况 ...