例如使用保持变量推回 书籍(书名、作者、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++ - 有没有办法在 for 循环中将多个变量 push_back 到一个 vector 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23159514/