サンプルの動作確認バージョン [GCC4.4/1.41.0] [VC9/1.41.0]
#include <vector>
#include <map>
#include <boost/assign.hpp>
using namespace std;
int main()
{
using namespace boost::assign;
vector<int> v;
v += 1,2,3,4,5;
map<char,int> m = map_list_of('A',1)('J',11)('Q',12)('K',13);
}
STLのコンテナに値を入れるのって不便ですよね。 push_backを大量に並べたりしないといけなくって。普通の配列なら簡単なのに。 ちょっとしたテストコードを書くときなどにはストレスがたまりまくります。
assignライブラリは、 演算子オーバーロードを使って普通の配列並みに簡単にSTLコンテナに値を設定できるようにするライブラリです。 私はoperator+=ってメンバ関数じゃなくてもよかったんだ、と変なところで驚きました。