锘??xml version="1.0" encoding="utf-8" standalone="yes"?>狠狠久久亚洲欧美专区,国内精品久久久久久99蜜桃 ,久久香蕉一级毛片http://www.shnenglu.com/converse/category/3609.htmlC++瀵規垜鑰岃█灝辨槸鏈塖TL甯lass鑳藉鐞嗗鎬?緇ф壙鐨凜.zh-cnWed, 21 May 2008 09:24:07 GMTWed, 21 May 2008 09:24:07 GMT60CGL寮鍙戞墜璁頒箣涓?-CGL涓殑"鍑芥暟瀵硅薄"http://www.shnenglu.com/converse/archive/2007/05/07/23566.html鍒?/dc:creator>鍒?/author>Mon, 07 May 2007 08:53:00 GMThttp://www.shnenglu.com/converse/archive/2007/05/07/23566.htmlhttp://www.shnenglu.com/converse/comments/23566.htmlhttp://www.shnenglu.com/converse/archive/2007/05/07/23566.html#Feedback0http://www.shnenglu.com/converse/comments/commentRss/23566.htmlhttp://www.shnenglu.com/converse/services/trackbacks/23566.html
        棣栧厛闇瑕佺煭鏆傚洖欏維TL涓殑鍑芥暟瀵硅薄浠ュ強鍑芥暟瀵硅薄閫傞厤鍣ㄧ瓑姒傚康.

        STL涓殑鏈鍩烘湰鐨勫嚱鏁板璞″垎涓轟笁綾?generator, unary function,binary function,鍏朵腑鐨刧enerator鏄棤鍙傛暟鍑芥暟,unary function鏄崟鍙傛暟鍑芥暟,binary function鏄弻鍙傛暟鍑芥暟.娉ㄦ剰,浠ヤ笂鍙槸鎻愬埌鐨勪笁鑰呯殑浼犲叆鍙傛暟鐨勬暟閲?榪樻病鏈夋秹鍙婂埌瀹冧滑鎵瑕佽繑鍥炵殑鍙傛暟綾誨瀷.涓鑸殑,涓夎呴兘鏄互template鍙傛暟浣滀負鑷繁榪斿洖鍙傛暟鐨勭被鍨?浣嗘槸褰搖nary function鍜宐inary function榪斿洖鍙傛暟鏄痓ool鍨嬬殑鏃跺?鍒嗗埆縐板畠浠負:predicate鍜宐inary predicate,榪欐槸鍥犱負STL涓緢澶氳寖鍨嬪弬鏁扮殑璋冪敤闇瑕佷紶鍏ヤ竴涓嚱鏁板璞¤繘琛屽厓绱犵殑姣旇緝.濡俿ort,find_if絳夊嚱鏁?

        鍑芥暟瀵硅薄閫傞厤鍣ㄥ垎涓轟袱綾?涓綾繪槸緇戝畾鍣?binder),鍙﹀涓綾繪槸鍙栧弽鍣?negator),緇戝畾鍣ㄧ敤浜庣粦瀹氬嚱鏁板璞′腑鐨勬煇涓弬鏁?鍙栧弽鍣ㄧ敤浜庡皢鍑芥暟瀵硅薄鐨勮繑鍥炲艱繘琛岀炕杞?涓鑸殑,鍙互浣跨敤鍙栧弽鍣ㄧ殑鍑芥暟瀵硅薄閮芥槸閭d簺榪斿洖鍊間負bool鍨嬬殑鍑芥暟瀵硅薄.

        CGL涓笉鑳藉疄鐜板嚱鏁伴傞厤鍣?鍥犱負緇戝畾鍣ㄥ湪緇戝畾鍙傛暟鐨勬椂鍊欐槸閫氳繃灝嗘墍闇瑕佺粦瀹氱殑鍙傛暟浣滀負妯$増鍙傛暟浼犻掔粰鍑芥暟瀵硅薄綾昏繘琛屽弬鏁扮粦瀹氱殑,濡?
template <class Operation> 
class binder2nd
  : 
public unary_function<typename Operation::first_argument_type,
                          
typename Operation::result_type> {
protected:
  Operation op;
  
typename Operation::second_argument_type value;
public:
  binder2nd(
const Operation& x,
            
const typename Operation::second_argument_type& y) 
      : op(x), value(y) {}
  
typename Operation::result_type
  operator()(
const typename Operation::first_argument_type& x) const {
    return op(x, value); 
  }
};

template 
<class Operation, class T>
inline binder2nd
<Operation> bind2nd(const Operation& op, const T& x) {
  typedef 
typename Operation::second_argument_type arg2_type;
  return binder2nd
<Operation>(op, arg2_type(x));
}

浠ヤ笂鏄粦瀹氬櫒bind2nd鍑芥暟鐨勫疄鐜?浣犲彲浠ョ湅鍒拌繖涓嚱鏁版槸榪斿洖涓涓猙inder2nd鐨勫嚱鏁板璞$被,鑰屾墍闇瑕佺粦瀹氱殑鍙傛暟浣滀負binder2nd鐨剉alue鍙傛暟瀛樺偍璧鋒潵,鍦ㄨ皟鐢╞inder2nd鐨刼perator()鏃跺啀浣跨敤value鍙傛暟,鐢變簬C涓病鏈夊姙娉曞仛鍒伴噸杞給perator()鍑芥暟,鎵浠ヤ笉鑳藉疄鐜癰inder.

鍚屾牱鐨?C涓篃娌℃湁鍔炴硶瀹炵幇negator鍑芥暟瀵硅薄閫傞厤鍣?瑙佷唬鐮?
template <class Predicate>
class unary_negate
  : 
public unary_function<typename Predicate::argument_type, bool> {
protected:
  Predicate pred;
public:
  
explicit unary_negate(const Predicate& x) : pred(x) {}
  bool operator()(
const typename Predicate::argument_type& x) const {
    return !pred(x);
  }
};

template 
<class Predicate>
inline unary_negate
<Predicate> not1(const Predicate& pred) {
  return unary_negate
<Predicate>(pred);
}

浠ヤ笂鏄痭egator鍑芥暟not1鍑芥暟鐨勫疄鐜?鍙互鐪嬪埌榪欎釜鍑芥暟榪斿洖涓涓猽nary_negate鍑芥暟瀵硅薄,鑰屽湪榪欎釜鍑芥暟瀵硅薄閲嶈澆鐨刼perator()涓pred鍑芥暟鐨勮繑鍥炲艱繘琛屽彇鍙嶄互杈懼埌negator鍑芥暟瀵硅薄閫傞厤鍣ㄧ殑浣滅敤,鍚屾牱鐨?鐢ㄤ簬C涓笉鑳藉仛鍒伴噸杞給perator(),鎵浠ユ病鏈夊姙娉曞疄鐜皀egator鍑芥暟瀵硅薄閫傞厤鍣?

STL涓繕鏈変竴浜涢瀹氫箟鐨勫嚱鏁板璞″plus,equal_to絳?瑙佷唬鐮?
template <class T>
struct plus : 
public binary_function<T, T, T> {
    T operator()(
const T& x, const T& y) const { return x + y; }
};

plus鐨勫嚱鏁板弬鏁版槸閫氳繃妯$増鍙傛暟T浼犲叆鐨?浠諱綍鎯寵閲囩敤plus鐨勭被鍨嬮兘闇瑕佹彁渚沷perator + 鎿嶄綔絎?鍥犱負榪欎釜鐗圭偣,C涓篃娌℃湁鍔炴硶瀹炵幇榪欎簺棰勫畾涔夌殑鍑芥暟瀵硅薄.

        閴翠簬浠ヤ笂鐨勫師鍥?CGL涓殑"鍑芥暟瀵硅薄"琚畾涔変負鍑犵鍑芥暟鎸囬拡:
       
typedef bool_t    (*binary_predicate)(data_t tData1, data_t tData2);
typedef void    (
*binary_func)(data_t tData1, data_t tData2, data_t tResult);
typedef void    (
*binary_func2)(data_t tData1, data_t tData2);

typedef bool_t    (
*unary_predicate)(data_t tData);
typedef void    (
*unary_func)(data_t tData, data_t tResult);
typedef void    (
*unary_func2)(data_t tData);

typedef void    (
*generator_func)(data_t tResult);
typedef void    (
*generator_func2)();

     榪欎簺鍑芥暟鎸囬拡鐨勮繑鍥炲煎彧鏈変袱縐?bool_t鍜寁oid,褰撻渶瑕佽繑鍥為櫎浜哹oot_t涔嬪鐨勮繑鍥炲兼椂,灝嗕繚瀛樿繑鍥炲肩殑鎸囬拡tResult浼犲叆鍑芥暟涓繚瀛樿繑鍥炲?鎵鏈塁GL涓嬌鐢ㄧ殑鍑芥暟鎸囬拡閮藉彧鍙兘鏄互涓婄殑鍑犵鍑芥暟鎸囬拡綾誨瀷.
        




]]>
CGL寮鍙戞墜璁頒箣浜?-CGL涓殑鏁版嵁綾誨瀷http://www.shnenglu.com/converse/archive/2007/05/02/23311.html鍒?/dc:creator>鍒?/author>Tue, 01 May 2007 16:59:00 GMThttp://www.shnenglu.com/converse/archive/2007/05/02/23311.htmlhttp://www.shnenglu.com/converse/comments/23311.htmlhttp://www.shnenglu.com/converse/archive/2007/05/02/23311.html#Feedback0http://www.shnenglu.com/converse/comments/commentRss/23311.htmlhttp://www.shnenglu.com/converse/services/trackbacks/23311.html
鍦–GL涓紝鏈変互涓嬬殑鍑犱釜typedef閮芥妸void*瀹氫箟涓烘煇縐嶇被鍨?
typedef void* container_t;
typedef void* point_t;
typedef void* data_t;

鍒嗗埆浣滀竴涓В閲婏紝container_t琛ㄧず鐨勬槸鎸囧悜瀹瑰櫒鐨勬寚閽堬紝point_t琛ㄧず鐨勬槸閫氱敤鎸囧悜鏌愬鍣ㄧ殑鎸囬拡錛屼笉璁烘槸鎸囧悜鏁扮粍鎴愬憳鐨勬寚閽堣繕鏄竴涓摼琛ㄧ粨鐐圭殑鎸囬拡閮藉彲浠?娉涘寲"鐨勮〃紺轟負"pos_t",鑰宒ata_t琛ㄧず鐨勬槸瀛樻斁鏁版嵁鐨勬寚閽堬紝涔嬫墍浠ヨ瀵瑰悓鏍峰彲浠ヨ〃紺轟負鏄痸oid*鐨勬寚閽堝垎涓変釜綾誨瀷鐨則ypedef錛岀洰鐨勬槸涓轟簡鍦ㄤ唬鐮佷腑涓鐩簡鐒訛紝鐪嬪埌綾誨瀷鐨勫悕瀛楀氨鑳界煡閬撴槸浣滀粈涔堢敤鐨勪簡銆?br>
container_t鐨勫惈涔夊緢濂界悊瑙o紝鐜板湪瀵瑰悗闈袱縐嶇被鍨嬩綔涓涓嬭В閲娿?br>
鍘熸湰pos_t涓嶅彨pos_t鐨勶紝鑰屾槸琚畾涔変負iter_t錛屽洜涓哄湪STL涓凱浠e櫒鍏跺疄灝辨槸涓涓涓哄緢鍍忔寚閽堢殑涓滀笢錛屽彲浠ヨВ寮曠敤錛屽彲浠ラ掑鎸囧悜涓嬩竴涓厓绱狅紝閫掑噺鎸囧悜鍓嶄竴涓厓绱狅紝絳夌瓑銆備絾鏄渶瑕佹敞鎰忕殑鏃跺欙紝鐢變簬C++涓彲浠ラ噸杞芥搷浣滅錛屽*,++,--榪欐牱鐨勬搷浣滅閮藉彲浠ヨ閲嶈澆浠ヨ嚦浜庝竴涓猧terator鐨勮涓虹湅涓婂幓鍜屼竴涓櫘閫氱殑鎸囬拡娌℃湁浠涔堝尯鍒備絾鏄湪CGL涓紝鏄畬鍏ㄩ噰鐢ㄧ殑C璇█瀹炵幇鐨勶紝娌℃湁鍔炴硶鍋氬埌閲嶈澆榪欎簺鎿嶄綔絎︼紝鎵浠ユ垜涓撻棬鎻愪緵浜嗕竴涓彨鍋歩teraotr_t鐨勭粨鏋勪綋錛岄噷闈㈡湁鍑芥暟鎸囬拡鎴愬憳鍙互瀹炵幇浠ヤ笂榪欎簺閲嶈澆鎿嶄綔絎︽墍闇瑕佷綔鐨勪簨鎯?鍚庨潰浼氭湁涓撻棬鐨勪竴鑺傛潵璁茶堪榪欎釜緇撴瀯浣撲互鍙奀GL涓凱浠e櫒鐨勮璁?錛屾墍浠ュ鏋滄湁涓涓被鍨嬩負iter_t涓涓被鍨嬩負iterator_t浼氫笉浼氳浜烘販娣嗗憿錛熻嚦灝戞垜鍋跺皵鍥炲ご鐪嬫垜鐨勪唬鐮佺殑鏃跺欐槸浼氬紕娣風殑錛屽洜姝ゆ垜鍐沖畾鎶奿ter_t鏇村悕涓簆os_t涔熷氨鏄綅緗殑鎰忔濄?br>
data_t鐢ㄤ簬淇濆瓨瀛樻斁鏁版嵁鐨勬寚閽堬紝榪欓噷鏈夊嚑涓棶棰橀渶瑕佷氦寰呬竴涓嬨傞鍏堟槸榪欐牱浣滅殑寮婄錛岃櫧鐒惰繖鏍烽伩鍏嶅墠闈㈡彁鍒扮殑澶ч噺浣跨敤瀹忕殑緙虹偣錛屼絾鏄嵈嫻垂浜嗗瓨鍌ㄧ殑絀洪棿浠ュ強浼氬甫鏉ヤ竴浜涗嬌鐢ㄤ笂鐨勪笉鏂逛究銆傚厛璇存氮璐逛簡瀛樺偍絀洪棿錛屼互寰瀛樻斁涓涓暟鎹彧闇瑕佷竴涓笌璇ユ暟鎹浉鍚屽ぇ灝忕殑絀洪棿灝卞彲浠ヤ簡錛屼絾鏄幇鍦ㄨ繕闇瑕佸浣跨敤涓涓猟ata_t鎸囬拡鎸囧悜鍒嗛厤濂界殑絀洪棿錛屾棤褰箣涓氮璐逛簡涓涓寚閽堢殑絀洪棿銆傚啀璇翠嬌鐢ㄧ殑涓嶆柟渚匡紝浠ュ線澶勭悊鏁版嵁鐨勬椂鍊欏鏋滄病鏈夌壒鍒殑瑕佹眰鍙互鐩存帴浼犲鹼紝鑰岀幇鍦ㄥ繀欏諱紶鎸囬拡錛屽洜涓篊GL鐨勫嚱鏁頒笉璁や粈涔坕nt,double,char綾誨瀷錛屽彧澶勭悊鎸囬拡銆傛崲鍙ヨ瘽璇達紝鍋囧f鏄疌GL涓殑涓涓嚱鏁幫紝濡傛灉瑕佽皟鐢ㄤ紶鍏ヤ竴涓暣鍨嬪弬鏁?錛屼綘蹇呴』榪欐牱浣?
int nVal = 5;
f(&nVal);
鑰屼竴鑸紶鍊煎氨鍙互鍋氬埌鐨勮皟鐢ㄦ槸f(5)灝卞彲浠ヤ簡錛岃繖鏍蜂細閫犳垚浣跨敤涓婄殑涓嶆柟渚褲?br>鑷充簬鏁版嵁鐨勮祴鍊鹼紝鎴戦噰鐢ㄧ殑C搴撲腑memcpy鍑芥暟錛屽彧瑕佷紶鍏ユ寚鍚戞暟鎹殑鎸囬拡鍜屾暟鎹殑灝哄灝卞彲浠ワ紝姣旇緝鏁版嵁鏄惁鐩哥瓑鍒欓噰鐢–搴撲腑鐨刴emcmp鍑芥暟錛屾墍闇瑕佺煡閬撶殑鍙傛暟鍜宮emcpy涓鏍鳳紝鑰屽綋闇瑕佹瘮杈冩暟鎹殑澶у皬鏃訛紝榪欎釜姣旇緝澶寸柤錛屽洜涓篊搴撲腑娌℃湁鏍規嵁鎸囬拡鍜屾暟鎹殑澶у皬榪涜姣旇緝鐨勫嚱鏁幫紝鎴戝湪鍚庨潰浼氳В閲婃垜鐜板湪澶勭悊姝ょ被闂鐨勫姙娉曘?br>
鍐嶆潵璇磋鍏朵粬鐨勪袱涓猼ypedef:
typedef char* base_t;
typedef char  bool_t;
鏈鍚庣殑涓涓猙ool_t寰堝ソ鐞嗚В錛屽氨鏄竴鑸殑bool鍨嬪槢錛屼箣鎵浠ョ敤char寰堢畝鍗曪紝char綾誨瀷鎵闇瑕佺殑瀛楄妭鏁版渶灝戯紝鐪佺┖闂淬傝宐ase_t榪欎釜綾誨瀷鐨勫惈涔夋槸涓涓郴緇熶腑鏈鍩烘湰鐨勬暟鎹被鍨嬶紝鎴栬呭彲浠ヨ繖涔堢悊瑙?鍒殑鏁版嵁綾誨瀷鎵鍗犳湁鐨勫瓧鑺傛暟閮藉彲浠ヨ〃紺轟負榪欎釜綾誨瀷鐨勭畻鏈搷浣滐紝浠ヤ笂鐨勮█璇篃璁告櫐娑╀簡涓浜涳紝鎴戠敤渚嬪瓙鏉ヨ鏄庛?br>鐪婥GL涓竴涓嚱鏁扮殑瀹炵幇錛?br>
static point_t cgls_iter_advance(piterator_t pIter, size_t n)
{
    base_t tTmp;

    CGL_ASSERT(
NULL != pIter);
    CGL_ASSERT(
0 <= n);

    tTmp 
= (base_t)(pIter->tPoint);
    pIter
->tPoint = tTmp + pIter->nValSize * n;
    return pIter
->tPoint;
}
榪欎釜鍑芥暟鐨勪綔鐢ㄦ槸鎶婅凱浠e櫒pIter涓繚瀛樼殑鎸囧悜瀹瑰櫒涓暟鎹殑鎸囬拡tPoint鍚戝墠縐誨姩n涓綅緗紝澶у鐭ラ亾鎸囬拡鐨勭Щ鍔ㄥ拰瀹冩墍鎸囧悜鐨勬暟鎹被鍨嬬殑澶у皬鏈夊瘑鍒囩殑鍏崇郴錛屾崲鍙ヨ瘽璇翠竴涓寚閽堝悜鍓嶈蛋n涓綅緗墍瑕佺Щ鍔ㄧ殑瀛楄妭鏁頒負n * 瀹冩墍鎸囧悜鐨勬暟鎹殑灝哄錛屽湪涓婇潰鐨勫嚱鏁頒腑,tPoint榪欎釜鎸囬拡鎵鎸囧悜鐨勬暟鎹殑灝哄瀛樻斁鍦╬Iter鐨勬垚鍛樺彉閲弉ValSize涓紝浣犱篃璁鎬細闂洿鎺ヤ嬌鐢╯izeof(*tPoint)涓嶅氨鍙互寰楀埌榪欎釜鏁板間簡涔堬紵鍒繕浜嗘垜浠墠闈㈣榪囨墍鏈夌殑鎸囬拡綾誨瀷閮芥槸void*錛岃屽void*鎸囬拡鏄笉鑳借繘琛岃В寮曠敤鎿嶄綔鐨勶紝鎵浠ユ垜浠渶瑕佷竴涓彉閲忔潵瀛樻斁鏁版嵁鐨勫昂瀵搞?br>娉ㄦ剰鍒板嚱鏁頒腑鐨勪袱涓搷浣?
 tTmp = (base_t)(pIter->tPoint);
 pIter->tPoint = tTmp + pIter->nValSize * n;
緇撳悎鐫base_t鐨勫畾涔夛紝鍙互瑙i噴涓烘妸void*鎸囬拡tPoint寮哄埗杞寲涓篶har*錛岃宼Point鍚戝墠璧扮殑浣嶇疆涓簍Tmp +  nValSize*n錛屽浜巘Tmp鑰岃█錛屽畠鐨勭被鍨嬫槸base_t涔熷嵆鏄痗har*錛宻izeof(char) = 1錛屽洜姝ら噰鐢╟har*鏉ヤ繚瀛樹互鍙婅繘琛屾寚閽堢殑鍔犲噺鎿嶄綔鏄渶鑷劧鐨勬搷浣滐紝鍙鎴戜滑鐭ラ亾闇瑕佸墠榪涚殑姝ユ暟(n),姣忛儴鐨勫箙搴?nValSize)錛屽氨鍙互閫氳繃鎶婃寚閽堝己鍒惰漿鍖栦負base_t涔熷氨鏄痗har*鏉ヨ揪鍒版垜浠墍瑕佸埌杈劇殑浣嶇疆銆?br>
浠ヤ笂錛屾槸鎴戝鐩墠CGL涓嚑涓猼ypedef鐨勮В閲娿傚彲浠ョ湅鍒扮殑鏄紝璁捐涓繪槸瀛樺湪鐫榪欐牱閭f牱鐨勬姌涓紝寰堝鍦版柟鐨勫鐞嗕篃鏄笉瀹岀編鐨勶紝鎴戦夋嫨鐨勬槸涓嶅悜瀹忓Ε鍗忚屾槸鑷繁瀵規寚閽堣繘琛屽鐞嗗拰鎿嶄綔銆?br>

]]>
CGL緙栫爜瑙勮寖V1.0http://www.shnenglu.com/converse/archive/2007/04/28/23148.html鍒?/dc:creator>鍒?/author>Sat, 28 Apr 2007 15:48:00 GMThttp://www.shnenglu.com/converse/archive/2007/04/28/23148.htmlhttp://www.shnenglu.com/converse/comments/23148.htmlhttp://www.shnenglu.com/converse/archive/2007/04/28/23148.html#Feedback1http://www.shnenglu.com/converse/comments/commentRss/23148.htmlhttp://www.shnenglu.com/converse/services/trackbacks/23148.html涔嬪墠铏界劧鍦ㄥ啓浠g爜鐨勬椂鍊欒嚜宸卞績涓湁涓涓紪鐮佺殑瑙勮寖錛屼絾鏄瘯绔熸病鏈夎堪涔嬫枃瀛楋紝鐜板湪鍥炲ご鐪嬩簡鐪嬪彂鐜拌繕鏄湁寰堝鍦版柟涓嶅瑙勮寖鐨勶紝鑺變簡涓涓櫄涓婃壂浜嗕竴涓嬪師鏈夌殑浠g爜錛屽埗瀹氬嚭榪欎釜瑙勮寖錛屾瘯绔熸槸鍐欏嚭鏉ョ櫧綰擱粦瀛楃殑錛屼互鍚庢湁渚濆彲寰紝榪欏茍涓嶆槸鏈鍚庣殑瑙勮寖鐗堟湰錛屾垜鎶婂畠鍛藉悕涓篤1.0錛屼細鏍規嵁闇瑕佷笉鏂殑琛ュ厖瀹屽杽錛屽茍涓斾細check in鍒癝F鐨凷VN涓幓錛屾湁鍙兘鐨勮瘽鍐嶅啓涓浠紼鏂囩増鐨勮鑼冿紝鑰屾瘡嬈″瑙勮寖鐨勮ˉ鍏呭畬鍠勭浉搴旂殑閮戒細榪涜瀵逛唬鐮佺殑閲嶆瀯銆?br>
榪欐槸涓涓ソ鐨勪範鎯紝甯屾湜鎴戜互鍚庝笉綆℃槸浣滃晢涓氫笂鐨勫紑鍙戣繕鏄嚜宸變笅闈綔鐫鐜╁効鍐欑殑浠g爜閮芥寜鐓ц繖浜涙祦紼嬭蛋涓嬫潵錛屾垜鐩鎬俊錛屽ソ鐨勪範鎯拰椋庢牸浼氬甫鏉ュ緢澶氱Н鏋佺殑褰卞搷銆?br>

 

CGL緙栫爜鍛藉悕瑙勮寖V1.0(2007-04-29)

1.鍙橀噺鍛藉悕閲囩敤鍖堢墮鍒╁懡鍚嶆硶錛屽涓嬶細
1錛夋暣鍨嬪彉閲忓姞鍓嶇紑n
2錛夋寚閽堝彉閲忓姞鍓嶇紑p
3)鑷畾涔変篃灝辨槸typedef澹版槑鐨勬柊綾誨瀷鍙橀噺鍔犲墠緙t錛岃岃繖浜涚被鍨嬬殑瀹氫箟鍚庨潰鍔燺t鍚庣紑錛屽iter_t
4錛塩har綾誨瀷鍔犲墠緙c錛宑har鏁扮粍鍔犵被鍨媠z
5錛夊彉閲忕殑鍛藉悕涓鑸負浠ヤ笂鐨勫墠緙鍔犱笂鐩稿簲鐨勬弿榪板悕璇嶏紝鍚屾椂鍚嶈瘝絎竴涓瓧姣嶅ぇ鍐欙紝濡俻iterator_t pIter

2.瀹忎竴寰嬪ぇ鍐欙紝騫朵笖鍔犱笂鍓嶇紑CGL_

3.鍑芥暟鍚嶇О鍔犲墠緙cgl_錛屽鏋滄槸鏌愮被鍨嬬殑鎺ュ彛鍑芥暟鍔犱笂綾誨瀷鍚嶇О錛屽叾鍚庡懡鍚嶅熀鏈弬鐓у搴旂殑STL涓嚱鏁扮殑鍛藉悕錛?br>    濡俢gl_list_clear涓嶴TL涓璴ist瀹瑰櫒鐨刢lear鍑芥暟瀵瑰簲
    浣嗘槸榪橀渶瑕佹敞鎰忕殑鏄紝濡傛灉鏄湪鏌愪釜鏂囦歡涓殑static鍑芥暟錛屼篃灝辨槸澶栭儴涓嶈兘浣跨敤鐨勫嚱鏁幫紝鍓嶇紑鏀逛負cgls_
    鑰屽浜庢煇涓粨鏋勪綋鍐呭畾涔夌殑鍑芥暟鎸囬拡綾誨瀷涓嶉渶瑕佸姞涓奵gl鍓嶇紑錛屽彧闇瑕佸鍑芥暟鍔熻兘榪涜璇存槑灝卞彲浠ヤ簡錛屼竴鑸負
    鍔ㄨ瘝
+鍚嶈瘝鐨勫艦寮忓懡鍚嶃?br>    濡俰terator涓殑鍑芥暟鎸囬拡    data_t                    (*get_value)(piterator_t pIter);灝辨槸寰楀埌榪欎釜iterator
    鍊肩殑鍑芥暟銆?br>    
    鏈変簡榪欎釜瑙勫垯錛岄偅浜涘湪CGL涓嚭鐜扮殑娌℃湁榪欎簺鍓嶇紑鐨勫嚱鏁伴兘鏄疌搴撲腑鎻愪緵鐨勫簱鍑芥暟銆?br>    
4.榪涜姣旇緝鎿嶄綔鏃舵妸甯擱噺鏀懼湪姣旇緝鎿嶄綔絎﹀乏杈癸紝濡俰f(NULL != pIter)

5.鑷畾涔夌殑鏁版嵁綾誨瀷浠ュ強緇撴瀯浣撶殑鍛藉悕涔犳儻涓烘弿榪拌綾誨瀷鐨勫悕璇?nbsp;+ "_t"錛屽iterator_t錛屽鏋滄槸鎸囧悜璇ョ被鍨?br>  鍙橀噺鐨勬寚閽堢被鍨嬪垯鍦ㄥ墠闈㈠姞涓妏鍓嶇紑錛屽piterator_t
  
6.澶存枃浠朵腑涓洪槻姝㈤噸澶嶅寘鍚墍澹版槑鐨勫畯鍛藉悕瑙勮寖涓鴻澶存枃浠剁殑鍘繪帀".h"鍚庣紑涔嬪悗鐨勬枃浠跺悕鍐嶅姞涓?/span>"_H"鍚庣紑錛?br>    鍚屾椂榪欎釜緇勫悎鐨勫墠鍚庨兘瑕佸姞涓?/span>"__"錛屽cgl_commondef.h澶存枃浠朵腑鐨勫畯涓篲_CGL_COMMONDEF_H__
    
7.姣忎釜鏂囦歡閮借浠?#8220;CGL_BEGIN”寮濮嬶紝浠?#8220;CGL_END”緇撳熬

8.涓嶅彲蹇界暐緙栬瘧鏃剁殑璀﹀憡淇℃伅錛屽鏋滃湪鎿嶄綔涓渶瑕佸己鍒惰漿鎹㈢殑瑕佹槑紜啓鍑烘潵錛屼笉搴斾緷璧栦簬緙栬瘧鍣ㄩ殣寮忕殑杞崲銆?br>
9.鏂囦歡鐨勫懡鍚嶄負cgl_鍓嶇紑鍔犱笂璇ユ枃浠剁殑鎻忚堪錛屼竴鑸殑錛岃繖涓悗緙涓嶴TL涓搴旂殑鏂囦歡鍚嶇浉鍚岋紝濡係TL涓殑list鏂囦歡
  鍏跺湪CGL涓殑瀵瑰簲澶存枃浠跺氨鏄痗gl_list.h錛宑鏂囦歡灝辨槸cgl_list.c
  
10.鎵鏈夊嚱鏁扮殑瀹氫箟鍓嶉潰涓寰嬪姞涓婂鍑芥暟鍔熻兘錛岃緭鍏ワ紝杈撳嚭鍙傛暟鐨勬敞閲婅鏄?nbsp; 


  
 




 



]]>
CGL寮鍙戞墜璁頒箣涓--鍙傝冭祫鏂?/title><link>http://www.shnenglu.com/converse/archive/2007/03/18/20083.html</link><dc:creator>鍒?/dc:creator><author>鍒?/author><pubDate>Sun, 18 Mar 2007 11:40:00 GMT</pubDate><guid>http://www.shnenglu.com/converse/archive/2007/03/18/20083.html</guid><wfw:comment>http://www.shnenglu.com/converse/comments/20083.html</wfw:comment><comments>http://www.shnenglu.com/converse/archive/2007/03/18/20083.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/converse/comments/commentRss/20083.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/converse/services/trackbacks/20083.html</trackback:ping><description><![CDATA[     鎽樿: 鏈夊叧CGL鍐欎綔涓粡甯稿弬鑰冨埌鐨勮祫鏂?  <a href='http://www.shnenglu.com/converse/archive/2007/03/18/20083.html'>闃呰鍏ㄦ枃</a><img src ="http://www.shnenglu.com/converse/aggbug/20083.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/converse/" target="_blank">鍒?/a> 2007-03-18 19:40 <a href="http://www.shnenglu.com/converse/archive/2007/03/18/20083.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>CGL寮鍙戣褰?涓)http://www.shnenglu.com/converse/archive/2007/02/11/18659.html鍒?/dc:creator>鍒?/author>Sun, 11 Feb 2007 08:59:00 GMThttp://www.shnenglu.com/converse/archive/2007/02/11/18659.htmlhttp://www.shnenglu.com/converse/comments/18659.htmlhttp://www.shnenglu.com/converse/archive/2007/02/11/18659.html#Feedback0http://www.shnenglu.com/converse/comments/commentRss/18659.htmlhttp://www.shnenglu.com/converse/services/trackbacks/18659.html闃呰鍏ㄦ枃

]]>
亚洲人成电影网站久久| 日韩AV无码久久一区二区| 久久er热视频在这里精品| 91久久精品国产91性色也| 久久久免费观成人影院| 久久久久久久波多野结衣高潮| 97久久香蕉国产线看观看| 久久久国产精品| 无码国内精品久久人妻蜜桃| 色综合久久中文综合网| 久久精品视频一| 欧美精品一本久久男人的天堂| 精品熟女少妇AV免费久久 | 熟妇人妻久久中文字幕| 久久精品国产69国产精品亚洲| 久久天天躁夜夜躁狠狠| 99久久国产免费福利| 久久久久久亚洲Av无码精品专口| 精品久久久久久久久久久久久久久| 日产精品99久久久久久| 久久强奷乱码老熟女| 岛国搬运www久久| 久久精品国内一区二区三区| 热re99久久精品国99热| 97视频久久久| 精品久久久久久无码不卡| 久久亚洲中文字幕精品一区| 国产精品视频久久久| 久久亚洲私人国产精品vA| 亚洲伊人久久精品影院 | 国内精品伊人久久久久av一坑 | 伊人丁香狠狠色综合久久| 日产精品久久久久久久| 欧美熟妇另类久久久久久不卡| 女同久久| 久久久久亚洲av综合波多野结衣| 欧美久久亚洲精品| 久久人人爽人人爽人人片AV东京热 | 97久久精品国产精品青草| 狠狠色婷婷久久一区二区三区| 99国产精品久久|