有没有一种方法可以在for循环中将多个变量推回到一个向量中
Is there a way to push_back multiple variables into a vector in a for loop?
例如使用保持变量进行推回书籍(标题、作者、ISBN)
vector <Book> books;
Book book1("a", "Jim John", 1000);
Book book2("b", "Jim John", 1001);
Book book3("c", "Billy Bill", 1002);
Book book4("d", "Greg Lumburge", 1003);
Book book5("e", "Dallas Orange", 1004);
Book book6("f", "Old McDonald", 1005);
books.push_back(book1);
books.push_back(book2);
books.push_back(book3);
books.push_back(book4);
books.push_back(book5);
books.push_back(book6);
使用支持C++11标准的编译器,您可以使用emplace_back
,如下所示:
vector <Book> books;
books.emplace_back("a", "Jim John", 1000);
books.emplace_back("b", "Jim John", 1001);
books.emplace_back("c", "Billy Bill", 1002);
books.emplace_back("d", "Greg Lumburge", 1003);
books.emplace_back("e", "Dallas Orange", 1004);
books.emplace_back("f", "Old McDonald", 1005);
但使用C++11更容易的是,只需在大括号初始值设定项中列出所有数据:
vector <Book> books =
{
{"a", "Jim John", 1000},
{"b", "Jim John", 1001},
{"c", "Billy Bill", 1002},
{"d", "Greg Lumburge", 1003},
{"e", "Dallas Orange", 1004},
{"f", "Old McDonald", 1005}
};
如果合适的话,添加const
也很容易。
在C++03中,你可以这样做:
static Book const data[] =
{
Book("a", "Jim John", 1000),
Book("b", "Jim John", 1001),
Book("c", "Billy Bill", 1002),
Book("d", "Greg Lumburge", 1003),
Book("e", "Dallas Orange", 1004),
Book("f", "Old McDonald", 1005)
};
int const data_size = sizeof( data )/sizeof( *data );
vector <Book> books( data, data + data_size );
如果您可以使用C++11,那么您可以使用初始值设定项列表:
vector<Book> books = {
{"a", "Jim John", 1000},
{"b", "Jim John", 1001},
{"c", "Billy Bill", 1002},
{"d", "Greg Lumburge", 1003},
{"e", "Dallas Orange", 1004},
{"f", "Old McDonald", 1005},
};
相关文章:
- 尝试通过多个向量访问变量时,向量下标超出范围
- 变量没有改变?通过向量的函数调用
- C++:如何读取分离变量,然后读取向量
- 在向量内更改变量的值不会改变其在向量外的值
- 将不同类型的变量添加到向量中
- C++:将向量传递到构造函数以创建成员变量的最佳方法?
- 从类指针的向量创建成员变量的向量
- 如何在C++中将字节向量(std::vector<uint8_t>)转换为不同的uint32_t,uint16_t和uint8_t变量
- 分配具有 2D 向量大小的变量的内存
- 如何访问基类向量中的子类变量?(对于实体组件系统)
- 向量索引变量声明(size_t 或 std::vector<DATATYPE>::size_type)
- 如何将向量名称用作变量?
- 遍历对象向量,并找到与从文本文件中提取的对象匹配的变量
- 如何将向量分配给参考变量?
- 如何有效地实现将向量的数据分配给多个变量?
- push_back变量向量
- 正在初始化模板化类中的私有成员变量向量
- 访问C++中的boost::变量向量的元素
- 如何公开一个返回变量向量的函数
- 如何在没有for循环的情况下请求boost::normaldistribution生成一个大的随机变量向量