vector push_back类的语法
时间: 2023-09-29 13:09:36 浏览: 53
vector的push_back函数用于在vector的末尾添加一个元素。其语法如下:
```cpp
void push_back(const T& value);
```
其中,T是vector存储的元素类型,value是要添加的元素。
例如,如果我们有一个存储整数的vector,我们可以使用push_back函数将一个整数添加到末尾:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> myVector;
myVector.push_back(10);
for (int i : myVector) {
std::cout << i << " ";
}
return 0;
}
```
这段代码将输出:10
希望能帮到你!如果你还有其他问题,请随时提问。
相关问题
C++ vector push_back
C++中的vector是一种动态数组,可以使用push_back函数向其末尾添加元素。push_back函数的语法如下:
```c++
void push_back(const T& value);
```
其中,T是vector中存储元素的类型,value是要添加的元素。
例如,如果要向一个vector<int>对象中添加一个整数,可以使用以下代码:
```c++
vector<int> vec;
vec.push_back(10);
```
这将在vec的末尾添加一个值为10的整数。如果要添加多个元素,可以在循环中使用push_back函数。
emplace_back和push_back
emplace_back和push_back都是vector容器的成员函数,用于在容器的末尾添加元素。但是它们有一些不同之处。
push_back需要传入一个具体的元素,而emplace_back可以直接传入构造该元素所需的参数,然后容器会在内部自行构造元素。这意味着,如果添加的是一个较大的对象,使用emplace_back可以避免不必要的复制或移动操作,减少开销。同时,emplace_back也有更好的性能优化,因为它不需要调用复制构造函数或移动构造函数。
例如,假设存在一个名为Student的类,其构造函数需要传入一个string类型的学生姓名和一个int类型的学生年龄。如果想要向一个vector<Student>容器中添加一个学生,可以这样写:
```
std::vector<Student> students;
// push_back方式
Student s1("Tom", 18);
students.push_back(s1);
// emplace_back方式
students.emplace_back("Tom", 18);
```
可以看到,使用emplace_back的语法更加简洁。但是需要注意的是,由于emplace_back使用了变长模板实现,所以要保证传入的参数类型正确,并且构造函数的参数列表应该与传入的参数一一对应。
在总体上,emplace_back是更加灵活、性能更好的选择,但是如果只需要向容器中添加简单类型的元素,使用push_back就足够了。