vector中push_back函数的意思是啥

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vector中push_back函数的意思是啥相关的知识,希望对你有一定的参考价值。

参考技术A

vector中push_back函数的意思是在vector的末尾插入一个元素。

vector简单理解为动态一维数组push_back

作用是在这个一维数组尾部插入一个元素 vector<int> v

v.push_back(1); //v里面是1

v.push_back(2); //v里面是1 , 2

v.push_back(3); //v里面是1 , 2 , 3。



扩展资料:

push_back是编程语言里面的一个函数名。

函数原型

void push_back(value _type _Ch);

参数

_Ch --> The character to be added to the end of the string.

在vector类中:

void push_back(const _Ty &_X)

insert(end(), _X);

在vector<_Bool, _Bool_allocator>类中:

void push_back(const bool _X)

insert(end(), _X);

参考资料来源:百度百科-push_back

push_back与构造函数

vector在push_back时,如果是自定义的数据结构,它会调用这个结果的拷贝构造函数来初始化vector中的存储空间,如果需要用push_back()需要自己实现拷贝构造函数!具体vector中是怎么push_back可以查看stl源码剖析中的具体实现。

如果注释掉test的拷贝构造函数,push_back不会调用无参构造函数,但是能够初始化,并且a的值还为10,不知道为什么。

 1 #pragma execution_character_set("utf-8")
 2 #include <iostream>
 3 #include <time.h>
 4 #include <Windows.h>
 5 #include <QDebug>
 6 #include <vector>
 7 using namespace std;
 8 struct test{
 9     int a;
10     test()
11     {
12         qDebug()<<"调用构造函数"<<endl;
13         a = 10;
14     }
15     test(const test& right)
16     {
17         qDebug()<<"调用拷贝构造函数"<<endl;
18         a = right.a;
19     }
20     test& operator=(const test& right)
21     {
22         qDebug()<<"调用赋值运算符"<<endl;
23         a = right.a;
24         return *this;
25     }
26 };
27 
28 int main(int argc, char *argv[])
29 {
30     vector<test> testArray;
31     test test1;
32     testArray.push_back(test1);
33     qDebug()<<testArray[0].a<<endl;
34 }

技术图片

 

以上是关于vector中push_back函数的意思是啥的主要内容,如果未能解决你的问题,请参考以下文章

OPENCV,rects.push_back(mr);这句话是啥意思?

实验五感想

c++里面的2维向量是啥意思????

程序missing function header是啥意思

Java中的Vector是啥意思?

[&] 在函数之前是啥意思? [复制]