青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

兔子的技術博客

兔子

   :: 首頁 :: 聯系 :: 聚合  :: 管理
  202 Posts :: 0 Stories :: 43 Comments :: 0 Trackbacks

留言簿(10)

最新評論

閱讀排行榜

評論排行榜

Assign 賦值庫

以從所未有如此容易的方法將常數或生成的數據填入容器。
簡介

本庫的目的是通過重載operator,() 和 operator()()使 得將數據填入容器中可以更容易。這兩個操作符讓我們可以構造一列數據然后把它們拷貝進容器中:
用逗號分隔的列表:
vector<int> v; 
v += 1,2,3,4,5,6,7,8,9;
用括號分隔的列表:
map<string,int> m; 
insert( m )( "Bar", 1 )( "Foo", 2 );
除了insert外,push_back,push_front也能用于相應數據結構的對象中(比如deque)。

list_of函數
用于初始化一個容器
list<int> primes = list_of(1)(2)(3)(5)(7)(11);
map_list_of函數
也是初始化容器,為方便map而特別定義的。以前map的添加多用make_pair。
map<int,int> next = map_list_of(1,2)(2,3)(3,4);

truple_list_of函數
同map一樣,為truple定制的。
vector<tuple> v = tuple_list_of( 1, "foo", 2 )( 3, "bar", 4 );

函數 repeat(), repeat_fun() 和 range()
多次重復相同的值有時是很煩人的。這時使用 repeat() 會很方便:
vector<int> v;
v += 1,2,3,repeat(10,4),5,6,7,8,9;
// v = [1,2,3,4,4,4,4,4,4,4,4,4,4,5,6,7,8,9]
v = list_of(1).repeat(5,2)(3);
// v = [1,2,2,2,2,2,3]
push_back( v )(1).repeat(1,2)(3);
// v = old v + [1,2,3]
正如我們所見,repeat()的第一個參數是重復第二個參數的次數。

template< class T >
struct next {
T seed;
next( T seed ) : seed(seed) { }

T operator()() {
return seed++;
}
};

vector<int> v;
v += 1,2,repeat_fun(4,&rand),4;
// v = [1,2,?,?,?,?,4] 
push_back( v ).repeat_fun(4,next<int>(0))(4).repeat_fun(4,next<int>(5));
// v = old v + [0,1,2,3,4,5,6,7,8] 

對 repeat_fun() 的第二個參數的唯一要求是,它必須是一個無參函數。
vector<int> v, v2;
v = list_of(1)(2)(3);
v2 = list_of(0).range(v).range(v.begin(),v.end())(4);
// v2 = [0,1,2,3,1,2,3,4]
區域插入也實現了。

ref_list_of和cref_list_of函數
有時需要一個匿名容器,比如用作參數等。ref_list_of也是建立一個容器,只是容器中的值是引用。

頭文件
這個庫的頭文件非常多,原因是它對STL作了擴充,又因為STL各個庫的使用也要調用不同的頭文件,這里也保持這個約定。
Header頭文件 Includes包含
<boost/assign.hpp> 除了對指針容器的支持以外的所有東西
<boost/assign/list_of.hpp> list_of(), map_list_of(), tuple_list_of(), ref_list_of() 和 cref_list_of()
<boost/assign/std.hpp> 各個標準容器的 operator+=() (見后)
<boost/assign/std/deque.hpp> std::deque的operator+=(), <deque>
<boost/assign/std/list.hpp> std::list的operator+=(), <list>
<boost/assign/std/map.hpp> std::map 和 std::multimap 的 operator+=(), <map>
<boost/assign/std/queue.hpp> std::queue 和 std::priority_queue 的 operator+=(), <queue>
<boost/assign/std/set.hpp> std::set 和 std::multiset 的 operator+=(), <set>
<boost/assign/std/slist.hpp> std::slist 的 operator+=(), <slist> (如果有slist)
<boost/assign/std/stack.hpp> std::stack 的 operator+=(), <stack>
<boost/assign/std/vector.hpp> std::vector 的 operator+=(), <vector>
<boost/assign/assignment_exception.hpp> 類 assignment_exception, 可能會由 list_of() 返回的代理所拋出
<boost/assign/list_inserter.hpp> make_list_inserter(), push_back(), push_front(),insert(), push() 和類 list_inserter, 是整個庫的骨干
<boost/assign/ptr_list_inserter.hpp> 函數 ptr_push_back(), ptr_push_front() 和 ptr_insert()
<boost/assign/ptr_map_inserter.hpp> 函數 ptr_map_insert()
<boost/assign/ptr_list_of.hpp> 函數 ptr_list_of()

小結
如題,從未有過如此簡單的賦值方式。

轉自:http://hi.baidu.com/ani_di/blog/item/30eaca1ebc38b069f624e48d.html

posted on 2010-06-05 17:32 會飛的兔子 閱讀(809) 評論(1)  編輯 收藏 引用 所屬分類: C++庫,組件

Feedback

# re: boost庫之Assign 賦值庫 2010-06-06 15:15 唐風
唉,還是希望出現語言級別的“糖”,還是希望有 initializer-list ……  回復  更多評論
  

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲永久视频| 久久久久久91香蕉国产| 在线免费观看一区二区三区| 亚洲欧美日韩人成在线播放| 亚洲免费在线精品一区| 亚洲福利视频在线| 欧美第十八页| 美日韩精品免费观看视频| 久久激情五月婷婷| 一区二区三区高清不卡| 一本一本久久| 亚洲欧美久久久| 久久aⅴ国产欧美74aaa| 久久久青草婷婷精品综合日韩| 开心色5月久久精品| 欧美国产欧美亚洲国产日韩mv天天看完整 | 欧美日韩四区| 国产麻豆日韩| 亚洲激情国产| 亚洲图中文字幕| 久久久久久久波多野高潮日日| 欧美不卡一卡二卡免费版| 一区二区三区精密机械公司 | 久久精品国产视频| 欧美搞黄网站| 亚洲欧美中文在线视频| 欧美激情二区三区| 国产欧美一区二区精品忘忧草 | 国产麻豆视频精品| 99视频在线观看一区三区| 欧美中文字幕第一页| 亚洲国产一二三| 欧美在线高清视频| 国产精品久久久久一区二区三区| 亚洲国产精品va在线看黑人| 欧美亚洲一区在线| 99pao成人国产永久免费视频| 久久久久免费观看| 国产精品成人一区二区艾草| 在线成人激情黄色| 久久久亚洲高清| 亚洲一级在线| 欧美天堂亚洲电影院在线播放| 在线观看视频欧美| 亚洲激情中文1区| 欧美黄色aaaa| 久久aⅴ国产紧身牛仔裤| 国产精品超碰97尤物18| 99riav久久精品riav| 欧美国产亚洲精品久久久8v| 久久久噜噜噜久久中文字免| 国产日韩欧美一区| 性娇小13――14欧美| 一区二区欧美在线| 欧美日韩视频在线一区二区观看视频 | 日韩网站在线观看| 欧美高清视频在线| 亚洲日本中文字幕免费在线不卡| 免费一级欧美在线大片| 久久网站热最新地址| 红桃视频欧美| 久久综合伊人77777| 久久福利精品| 在线观看日韩精品| 亚洲高清视频一区二区| 牛人盗摄一区二区三区视频| 最新亚洲一区| 亚洲美女少妇无套啪啪呻吟| 欧美日韩国产成人在线| 亚洲欧美日韩综合一区| 性感少妇一区| 伊人精品视频| 亚洲黄色影院| 国产精品九九| 久久久久久久久久久久久久一区 | 亚洲欧洲免费视频| 欧美日韩午夜| 欧美一区综合| 久久综合九色综合欧美狠狠| 亚洲精品一区在线观看| 一区二区三区日韩| 国产视频丨精品|在线观看| 麻豆国产精品777777在线| 欧美高清视频一二三区| 亚洲一区二区高清视频| 欧美中文字幕久久| 日韩视频一区二区三区| 亚洲自拍偷拍视频| 亚洲国产成人久久| 亚洲天堂成人在线观看| 亚洲国产第一页| 亚洲午夜国产成人av电影男同| 国产一区日韩一区| 亚洲精品男同| 国内久久精品视频| 99ri日韩精品视频| 亚洲成色999久久网站| 亚洲色图自拍| 亚洲黄色在线看| 亚洲精品一区二区三区四区高清 | 亚洲二区视频在线| 亚洲视频一区在线| 伊人男人综合视频网| 一区二区国产在线观看| 好吊视频一区二区三区四区| 亚洲精品国产精品国自产在线| 国产色综合网| 在线中文字幕一区| 91久久精品国产91久久性色| 午夜伦理片一区| 亚洲图片欧洲图片日韩av| 老司机精品视频网站| 久久gogo国模啪啪人体图| 欧美日韩国产一区二区| 欧美日韩在线三区| 免费观看一区| 国产亚洲一区二区在线观看| 亚洲精品国久久99热| 亚洲国产成人精品久久| 亚洲欧美三级伦理| 亚洲女与黑人做爰| 欧美精品在线看| 欧美激情国产日韩| 亚洲高清在线精品| 久久久久久自在自线| 久久久99精品免费观看不卡| 国产精品jizz在线观看美国| 亚洲人成7777| 亚洲狼人精品一区二区三区| 美国成人毛片| 亚洲第一页在线| 亚洲国产乱码最新视频| 久久手机免费观看| 免费在线一区二区| 亚洲国产精品尤物yw在线观看| 久久噜噜噜精品国产亚洲综合| 久久精品久久综合| 黑人中文字幕一区二区三区| 久久成人资源| 欧美成人影音| 亚洲精品一区二区网址| 欧美精品久久久久久久久久| 欧美激情四色| 99在线精品观看| 欧美午夜理伦三级在线观看| 亚洲图片自拍偷拍| 久久久91精品国产一区二区精品| 国产日韩欧美亚洲一区| 亚洲影音一区| 久久久久一区二区三区| 一区二区视频免费完整版观看| 久久国产精品久久久| 美女主播一区| 日韩性生活视频| 欧美日韩1区2区3区| 亚洲小说欧美另类社区| 久久琪琪电影院| 伊人成人网在线看| 欧美成人午夜激情视频| 夜夜嗨av色综合久久久综合网| 亚洲欧美日韩在线一区| 国产一区二区三区不卡在线观看| 91久久亚洲| 欧美日韩国产一区精品一区| 亚洲第一视频| 亚洲午夜极品| 国产精品尤物福利片在线观看| 久久国产一二区| 亚洲高清视频在线| 亚洲欧美日韩综合aⅴ视频| 国产一区导航| 欧美精品一区二区精品网| 日韩一级黄色大片| 久久免费国产精品| 亚洲午夜激情在线| 精品av久久707| 欧美色偷偷大香| 久久亚洲美女| 99v久久综合狠狠综合久久| 久久精视频免费在线久久完整在线看| 伊人男人综合视频网| 欧美高清一区| 亚洲欧美第一页| 亚洲精品小视频| 欧美成人高清| 欧美一区二区三区在线观看| 最新69国产成人精品视频免费 | 国产欧美成人| 欧美国产精品劲爆| 午夜伦欧美伦电影理论片| 亚洲国产91| 老色鬼精品视频在线观看播放 | 欧美成人国产va精品日本一级| 亚洲一区黄色| 亚洲国产一区二区精品专区| 国产日本欧美视频| 欧美日韩亚洲系列| 久久久噜噜噜久久久| 欧美一区二区视频在线观看| 亚洲精品一二|