c/c++中push与push_back
时间: 2024-05-02 21:21:11 浏览: 107
在C++中,push()和push_back()都是向容器中添加一个元素的方法,但它们的使用方式和适用范围有所不同。
1. push()
push()是一个通用的方法,可以用于大多数容器,包括vector、deque、list、queue、stack等等。它的作用是将一个元素添加到容器的末尾。
示例:
```cpp
vector<int> v;
v.push(10); // 向vector中添加一个元素10
deque<string> dq;
dq.push("hello"); // 向deque中添加一个元素"hello"
```
2. push_back()
push_back()是一个特殊的方法,只适用于序列式容器,比如vector、deque和string。它的作用也是将一个元素添加到容器的末尾。
示例:
```cpp
vector<int> v;
v.push_back(10); // 向vector中添加一个元素10
deque<string> dq;
dq.push_back("hello"); // 向deque中添加一个元素"hello"
```
从示例可以看出,push()和push_back()的使用方式几乎相同,但是push()可以用于更多类型的容器,而push_back()只适用于序列式容器。此外,push_back()的效率比push()高些,因为它针对的是序列式容器,而push()是通用的方法,需要进行更多的类型判断和转换,所以在使用序列式容器时,最好使用push_back()。
相关问题
C/C++中push和push_back
的区别是什么?
回答:在 C/C++ 中,push 和 push_back 都是向容器中添加元素的方法,但是它们的使用场景不同。push_back 只适用于顺序容器(如 vector、deque、list 等),而 push 不仅适用于顺序容器,也适用于关联容器(如 set、map 等)。此外,push_back 只能在容器的尾部添加元素,而 push 可以在任意位置添加元素。
c++vector push_back pop_back
C++ 的 vector 类是一个动态数组,可以在运行时动态增加或减少其大小。可以使用 push_back() 函数将元素添加到 vector 的末尾,使用 pop_back() 函数将 vector 的末尾元素删除。示例代码如下:
```c++
#include <iostream>
#include <vector>
using namespace std;
int main()
{
// 创建一个空的 vector
vector<int> v;
// push_back() 函数添加元素到 vector 的末尾
v.push_back(1);
v.push_back(2);
v.push_back(3);
// 输出 vector 中的元素
for (int i = 0; i < v.size(); i++) {
cout << v[i] << " ";
}
cout << endl;
// pop_back() 函数删除 vector 的末尾元素
v.pop_back();
// 输出 vector 中的元素
for (int i = 0; i < v.size(); i++) {
cout << v[i] << " ";
}
cout << endl;
return 0;
}
```
输出结果:
```
1 2 3
1 2
```
阅读全文