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年写的毕业设计,仅供参考 反汇编的目的 缺乏某些必要的说明资料的情况下, 想获得某些软件系统的源代码.设计思想及理念, 以便复制, 改造.移植和发展: 从源码上对软件的可靠性和安全性 ...
随机推荐
- defineProperty和Proxy
Proxy JS标准内置对象 const p = new Proxy(target, handler) 创建一个对象的代理: let obj = { a: { b: { c: 1 } } } let ...
- 算法学习—————数位dp
记忆化搜索版,比较有套路 就根据杠杆数这道题来回忆一下 题目大致意思:选定大数中的某个数作为支点,使左右两边的力矩和相等,求区间内能满足条件的数的个数 首先一个大前提:对于一个满足条件的数来说,他的支 ...
- 《__cplusplus修饰符的作用:C和CPP接口互相调用时候,编译没问题,链接提示未定义问题》
关于__cplusplus修饰符说明如下: __cplusplus是cpp中的自定义宏,那么定义了这个宏的话表示这是一段cpp的代码,也就是说,上面的代码的含义是:如果这是一段cpp的代码,那么加入e ...
- pg到达梦数据迁移常见问题
1 迁移提示 ERROR: column t1.tgconstrname does not exist Position: 113 重新迁移,选择转换的时候提示:ERROR: column t1.t ...
- 2022NCTF
是真的菜 开始复现把 calc 访问之后获得源码 @app.route("/calc",methods=['GET']) def calc(): ip = request.remo ...
- SQL语句大全,你不会写的SQL可能都在这里
1.创建数据库 CREATE DATABASE database-name 2.删除数据库 drop database dbname3.说明:备份sql server 创建 备份数据的 device ...
- 数据库常用sql
1.创建表 create table 表名( 字段名 类型 约束, 字段名 类型 约束 ... ) 如:create table students( id int unsigned primary k ...
- 3DMAX安装失败怎么办?安装3DMAX失败提示错误怎么解决?
3DMAX安装失败怎么办?安装3DMAX失败提示错误怎么解决?有很多同学想把3DMAX卸载后重新安装,但是发现3DMAX安装到一半就失败了或者显示3DMAX已安装或者安装未完成,大多数情况下其实是3D ...
- Javascript格式化数字字符串,如手机号,银行卡号的格式化
手机号13312341234转化成133 1234 1234 //方式一 function format_tel(tel){ tel = String(tel); return tel.replace ...
- python单机版自动化测试框架源代码(selenium+Appium+requests+unittest+Excel用例+HTMLTestRunner报告)
一.自动化测试框架: 1.框架和项目源代码下载 https://gitee.com/rmtic/autoTest 说明:框架可以支持web界面UI.安卓Android,ios苹果.接口API等自动化测 ...