Tôi đã bắt đầu sử dụng boost::assign
cho các trường hợp tôi muốn chỉ định tĩnh giá trị cụ thể (ví dụ được gỡ bỏ từ liên kết ở trên).
#include <boost/assign/std/vector.hpp>
using namespace boost::assign; // bring 'operator+()' into scope
{
vector<int> values;
values += 1,2,3,4,5,6,7,8,9;
}
Bạn cũng có thể sử dụng boost::assign
cho bản đồ.
#include <boost/assign/list_inserter.hpp>
#include <string>
using boost::assign;
std::map<std::string, int> months;
insert(months)
("january", 31)("february", 28)
("march", 31)("april", 30)
("may", 31)("june", 30)
("july", 31)("august", 31)
("september", 30)("october", 31)
("november", 30)("december", 31);
Bạn có thể cho phép làm nhiệm vụ trực tiếp với list_of()
và map_list_of()
#include <boost/assign/list_of.hpp> // for 'list_of()'
#include <list>
#include <stack>
#include <string>
#include <map>
using namespace std;
using namespace boost::assign; // bring 'list_of()' into scope
{
const list<int> primes = list_of(2)(3)(5)(7)(11);
const stack<string> names = list_of("Mr. Foo")("Mr. Bar")
("Mrs. FooBar").to_adapter();
map<int,int> next = map_list_of(1,2)(2,3)(3,4)(4,5)(5,6);
// or we can use 'list_of()' by specifying what type
// the list consists of
next = list_of< pair<int,int> >(6,7)(7,8)(8,9);
}
Ngoài ra còn có chức năng cho repeat()
, repeat_fun()
, và range()
cho phép bạn thêm các giá trị lặp đi lặp lại hoặc dãy các giá trị.
Bạn cũng nên thẻ này "C++". – TonJ
Điểm tốt. Làm xong. –