cpp中向vector加入元素有几种方法?
时间: 2024-02-19 18:08:57 浏览: 23
在C++中,向`vector`加入元素有以下几种方法:
1. push_back()
使用`push_back()`函数可以向`vector`的末尾添加一个元素。例如:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec;
vec.push_back(1);
vec.push_back(2);
vec.push_back(3);
for (int i = 0; i < vec.size(); i++) {
std::cout << vec[i] << " ";
}
return 0;
}
```
输出结果为:`1 2 3`。
2. emplace_back()
使用`emplace_back()`函数可以在`vector`的末尾就地构造一个元素。例如:
```cpp
#include <iostream>
#include <vector>
struct Person {
std::string name;
int age;
};
int main() {
std::vector<Person> people;
people.emplace_back("Alice", 20);
people.emplace_back("Bob", 30);
people.emplace_back("Charlie", 40);
for (int i = 0; i < people.size(); i++) {
std::cout << people[i].name << " " << people[i].age << std::endl;
}
return 0;
}
```
输出结果为:
```
Alice 20
Bob 30
Charlie 40
```
3. insert()
使用`insert()`函数可以向`vector`的任意位置插入一个或多个元素。例如:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4};
vec.insert(vec.begin() + 2, 5);
vec.insert(vec.begin() + 3, {6, 7});
for (int i = 0; i < vec.size(); i++) {
std::cout << vec[i] << " ";
}
return 0;
}
```
输出结果为:`1 2 5 6 7 3 4`。
4. resize()
使用`resize()`函数可以改变`vector`的大小,并默认将多出来的元素初始化为0。例如:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3};
vec.resize(5);
for (int i = 0; i < vec.size(); i++) {
std::cout << vec[i] << " ";
}
return 0;
}
```
输出结果为:`1 2 3 0 0`。
5. assign()
使用`assign()`函数可以将一个或多个元素赋值给`vector`。例如:
```cpp
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec;
vec.assign(4, 5);
for (int i = 0; i < vec.size(); i++) {
std::cout << vec[i] << " ";
}
return 0;
}
```
输出结果为:`5 5 5 5`。
以上就是向`vector`加入元素的几种方法。