std::vector<int32_t, std::string, std::string, std::string> routerState;这样写有问题吗,怎么添加元素,怎么访问元素
时间: 2024-02-23 19:54:28 浏览: 123
`std::vector<int32_t, std::string, std::string, std::string> routerState;`这样写是有问题的,因为`std::vector`只接受一个模板参数来指定存储在容器中的元素类型。如果你想同时存储多种类型的元素,可以考虑使用结构体或类来封装这些不同类型的数据。
要创建一个`std::vector`并添加元素,首先需要定义一个具体的类型作为容器的元素类型,然后使用`push_back()`函数将元素添加到容器中。例如,假设我们要创建一个存储整数和字符串的向量:
```cpp
#include <iostream>
#include <vector>
#include <string>
struct RouterInfo {
int32_t id;
std::string name;
};
int main() {
std::vector<RouterInfo> routerState;
// 添加元素
RouterInfo info1 = {1, "Router 1"};
routerState.push_back(info1);
RouterInfo info2 = {2, "Router 2"};
routerState.push_back(info2);
// 访问元素
std::cout << "ID: " << routerState[0].id << ", Name: " << routerState[0].name << std::endl;
std::cout << "ID: " << routerState[1].id << ", Name: " << routerState[1].name << std::endl;
return 0;
}
```
运行结果:
```
ID: 1, Name: Router 1
ID: 2, Name: Router 2
```
阅读全文