锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 鏈妭浠嬬粛涓夌縐誨姩PTZ鍗曞厓鎿嶄綔錛岀粷瀵廣佺浉瀵規垨縐誨姩銆傛墍鏈夋搷浣滈兘闇瑕乸rofile token錛屽紩鐢≒TZ閰嶇疆涓殑Media Profile銆?br /> 鎵鏈夌Щ鍔ㄥ懡浠ゅ簲浠ラ潪闃誨鏂瑰紡鎵ц錛岃〃紺轟笉搴旂瓑鍒拌姹傜殑縐誨姩鎿嶄綔瀹屾垚銆傛柊鐨勭Щ鍔ㄨ姹傚彲浠ヨ鐩栨渶鍚庣殑縐誨姩鎿嶄綔銆?/p> 鐢變簬鏈鑼冩秹鍙婄殑鐗╃悊璁懼鑼冨洿騫挎硾錛屽洜姝ゆ湰瑙勮寖涓嶈姹傚PTZ縐誨姩鎿嶄綔鐨勭壒瀹氱浉搴旀椂闂淬備絾鏄澶囧簲灝介噺鍑忓皯PTZ縐誨姩鍛戒護鍝嶅簲鐨勫歡榪熴傝澶囨病鏈夊畬鍏ㄦ帶鍒禤TZ鎺у埗杈撳叆鍜岃澶囩Щ鍔ㄧ殑婊炲悗銆傜綉緇滀笌瀹㈡埛绔殑寤惰繜浼氬鍔犳粸鍚庛傚疄鐜板簲璇ュ敖蹇噺灝戣澶囩殑寤惰繜銆?/p> 5.3.1. 緇濆縐誨姩錛圓bsoluteMove錛?br /> 濡傛灉PTZ鑺傜偣鏀寔緇濆姘村鉤/淇話鎴栫粷瀵瑰彉鐒︾殑縐誨姩錛屽垯搴旀敮鎸佺粷瀵圭Щ鍔ㄦ搷浣溿傝繖涓懡浠ょ殑浣嶇疆鍙傛暟鎸囧畾PTZ鍗曞厓瑕佺Щ鍔ㄧ殑緇濆浣嶇疆銆傚畠鍒嗕負涓涓彲閫夌殑姘村鉤/淇話鍏冪礌鍜屼竴涓彲閫夌殑鍙樼劍鍏冪礌銆傚鏋滃拷鐣ヤ簡姘村鉤/淇話浣嶇疆錛屽垯褰撳墠鐨勬按騫?淇話榪愬姩涓嶅彈姝ゅ懡浠ょ殑褰卞搷銆傚彉鐒︿篃鏄悓鏍風殑鍘熺悊銆?/p> PTZ鑺傜偣鏀寔鐨勭粷瀵逛綅緗┖闂達紝濡傛灉鐪佺暐浜嗙┖闂翠俊鎭紝鍒橮TZ閰嶇疆鐨勭浉搴旂殑榛樿絀洪棿錛岄噰鐢ㄦ寚瀹氭帶浠剁殑濯掍綋灞炴с傝澶囦粎涓烘湁緇濆浣嶇疆絀洪棿鎻愪緵鏀寔緇濆姘村鉤/淇話鎴栧彉鐒︾殑鏈嶅姟銆傜幇鏈夌殑縐誨姩鎿嶄綔鍛戒護涓殑閫熷害鍙傛暟姣擯TZ閰嶇疆涓殑榛樿閫熷害浼樺厛綰ц楂樸傚鏋滅┖闂村紩鐢ㄤ簡閫熷害鍙傛暟錛岄偅涔堥渶瑕佹敮鎸丳TZ鑺傜偣鏀寔鐨勯熷害絀洪棿銆?/p> 濡傛灉鏃犳硶杈懼埌鎵瑕佹眰鐨勭粷瀵逛綅緗紝鎿嶄綔灝嗗け璐ャ?/p> 璇鋒眰錛圧EQUEST錛? 濡傛灉PTZ鑺傜偣鏀寔鐩稿姘村鉤/淇話鎴栫浉瀵瑰彉鐒︾Щ鍔紝鍒欓渶瑕佹敮鎸佺浉瀵圭Щ鍔紙RelativeMove錛夋搷浣溿傛鎿嶄綔鐨勮漿鎹㈠弬鏁版寚瀹氬綋鍓嶄綅緗笌瑕佺Щ鍔ㄧ殑浣嶇疆鐨勬彃鍊箋傝鎿嶄綔鍙垎涓轟竴涓彲閫夌殑姘村鉤/淇話鍏冪礌鍜屼竴涓彲閫夌殑鍙樼劍鍙傛暟銆傚鏋滄按騫?淇話蹇界暐鎺変簡錛岄偅涔堝綋鍓嶇殑姘村鉤/淇話浣嶇疆涓嶄細鍙楁鍛戒護鐨勫獎鍝嶃傚彉鐒﹀厓绱犱篃鍚屾牱銆?br /> 杞崲鍏冪礌涓紩鐢ㄧ殑絀洪棿搴旇涓篜TZ鑺傜偣鏀寔鐨勮漿鎹㈢┖闂淬傚鏋滆漿鎹㈠弬鏁扮殑絀洪棿淇℃伅蹇界暐鎺変簡錛岄偅涔堝皢鏍規嵁PTZ閰嶇疆鐨勯粯璁ょ┖闂淬傝澶囬渶瑕佹敮鎸佺浉瀵規按騫?淇話縐誨姩錛岀浉瀵瑰彉鐒︾Щ鍔ㄦ垨涓嶆敮鎸佺浉瀵硅繍鍔ㄣ?br /> 鍦ㄨ姹傜Щ鍔ㄧ殑鍛戒護涓惡甯︾殑閫熷害鍙傛暟浼樺厛浜嶱TZ閰嶇疆涓殑榛樿閫熷害銆傚鏋滅┖闂村紩鐢ㄤ簡閫熷害鍙傛暟錛屽垯PTZ鑺傜偣闇瑕佹敮鎸侀熷害絀洪棿銆?br /> 閫氳繃鍙戦佹按騫?淇話鍜屽彉鐒?鍊煎懡浠ゅ彲浠ュ湪褰撳墠浣嶇疆鍋滄PTZ鍗曞厓銆傚仠姝㈠簲鍏鋒湁涓庡紩鐢ㄧ浉瀵圭┖闂村畬鍏ㄧ浉鍚岀殑鏁堟灉銆?br /> 濡傛灉璇鋒眰杞崲鍚庣殑緇濆浣嶇疆鏄棤娉曞埌杈劇殑錛岄偅涔圥TZ鑺傜偣闇瑕佺Щ鍔ㄦ渶鎺ヨ繎鐨勬湁鏁堜綅緗?br />璇鋒眰錛圧EQUEST錛? 鍏鋒湁PTZ鍔熻兘鐨勮澶囧簲鏀寔榪炵畫縐誨姩銆傛鍛戒護鐨勯熷害鍙傛暟涓烘按騫?淇話鍜岀緝鏀炬寚瀹氱殑鏈夌鍙風殑閫熷害鍊箋傜粍鍚堢殑姘村鉤/淇話鍏冪礌鍙婂彉鐒﹀厓绱犱篃鏄彲閫夌殑銆傚鏋滄按騫?淇話鍏冪礌蹇界暐鎺変簡錛屽綋鍓嶇殑姘村鉤/淇話鍏冪礌鍒欎笉鍙楁鍛戒護鐨勫獎鍝嶃傚彉鐒﹀厓绱犱篃鏄姝ゃ傚紩鐢ㄦ湁閫熷害鍏冪礌鐨勭┖闂寸殑PTZ鑺傜偣闇瑕佹敮鎸侀熷害絀洪棿銆傚鏋滈熷害鍙傛暟蹇界暐鎺変簡絀洪棿淇℃伅錛岄偅涔堥噰鐢ㄧ浉搴旂殑鎸囧畾濯掍綋鏂囦歡鐨凱TZ閰嶇疆鐨勯粯璁ょ┖闂淬傝澶囬氳繃浠呬負鏀寔鐨勬儏鍐墊彁渚涢熷害絀洪棿鏉ユ敮鎸佽繛緇按騫?淇話縐誨姩鍜岃繛緇彉鐒﹀姩浣溿?br /> 褰撳墠縐誨姩鎿嶄綔鐨勮秴鏃跺弬鏁頒紭鍏堜簬鐩稿簲PTZ閰嶇疆鐨勯粯璁よ秴鏃跺弬鏁般傝秴鏃跺弬鏁板喅瀹歅TZ鑺傜偣鐨勮繛緇Щ鍔ㄧ殑鏃墮棿銆?br /> 褰?浣滀負璇ヨ醬鐨勮繛緇Щ鍔ㄥ弬鏁版椂錛岃澶囧簲鍋滄鍦ㄧ壒瀹氳醬錛堟按騫籌紝淇話鎴栧彉鐒︼級鐨勭Щ鍔ㄣ傚紩鐢ㄧ殑閫熷害絀洪棿涔熷簲鏈夌嫭绔嬬殑鍋滄鍔熻兘銆傝繖涓懡浠ゅ湪榪炵畫縐誨姩鐨勫獎鍝嶄笌鍦?.3.5鑺備腑鐨勫仠姝㈠懡浠ゆ槸涓鏍風殑銆?br /> 璇鋒眰鐨勯熷害寰楀埌鐨勭粷瀵逛綅緗槸涓嶈兘鍒拌揪鐨勶紝鍒橮TZ鑺傜偣搴旂Щ鍔ㄥ埌鏈鎺ヨ繎鐨勮兘鍒拌揪鐨勪綅緗傝繛緇Щ鍔ㄦ搷浣滅殑鍏稿瀷搴旂敤鏄氳繃鎿嶇旱鏉嗘帶鍒禤TZ銆?br />璇鋒眰錛圧EQUEST錛? 璁懼鏈塆eoMove淇″彿錛屽垯PTZ鑺傜偣闇瑕佹敮鎸佽繖綾誨懡浠ゃ?br /> 鍙夌殑AreaHeight鍜孉reaWidth鍙傛暟鍙互娣誨姞鍒板弬鏁頒腑錛屾墍浠TZ璁懼鍙互鍐沖畾鍙樼劍鍥犲瓙銆傚鏋滄病鏈夋彁渚汚reaHeight鍜孉reaWidth錛岃鍗曞厓灝嗕笉浼氭洿鏀瑰彉鐒︺侫reaHeight鍜孉reaWidth鐢ㄧ背鏉ヨ〃紺恒?br /> 璇鋒眰鐨勮漿鎹㈣繃紼嬩腑鐨勯熷害鍙傛暟浼樺厛浜庣浉搴旂殑PTZ閰嶇疆鐨勯粯璁ら熷害銆傚鏋滃紩鐢ㄧ殑絀洪棿鍚湁閫熷害鍙傛暟錛岄偅涔圥TZ鑺傜偣搴旀敮鎸侀熷害絀洪棿銆?br /> 濡傛灉PTZ璁懼涓嶆敮鎸佽嚜鍔ㄦ绱㈠湴鐞嗕綅緗紝閭d箞鍦ㄦ墽琛屽湴鐞嗗紩鐢ㄥ懡浠や箣鍓嶄嬌鐢⊿etGeoLocation榪涜璁劇疆銆傚鎴風濡傛灉鍦ㄨ澶囪緗湴鐞嗕綅緗箣鍓嶅彂閫丟eoMove鍛戒護錛岃澶囧簲榪斿洖涓涓敊璇?br /> 鍙栧喅浜嶱TZ璁懼鐨勮繍鍔ㄦ柟寮忥紝璇鋒眰鐨勪綅緗彲鑳芥棤娉曞埌杈俱傝繖縐嶆儏鍐典笅璁懼搴旇繑鍥炰竴涓敊璇紝琛ㄧず鐢變簬鐗╃悊闄愬埗鏃犳硶鎵ц璇鋒眰鐨勬搷浣溿?br />璇鋒眰錛圧EQUEST錛? 鍝嶅簲錛圧ESPONSE錛?/strong>: 絀烘秷鎭?br />閿欒錛團AULTS錛?/strong>錛?br />• env:Sender - ter:InvalidArgVal - ter:NoProfile PTZ璁懼闇鏀寔鍋滄鎿嶄綔銆傚鏋滄病鏈夋寚瀹氬仠姝㈢殑鍙傛暟錛岄偅涔堣繖涓懡浠ゅ皢鍋滄鎵鏈夋鍦ㄨ繘琛岀殑姘村鉤錛屼刊浠板拰鍙樼劍鍔ㄤ綔銆傞氳繃鎸囧畾鐩稿簲鐨勫仠姝㈠弬鏁板彲浠ュ仠姝㈠搴旂殑鎿嶄綔銆?br />璇鋒眰錛圧EQUEST錛? 璁懼PTZ鑺傜偣鏈塎oveAndTrack鏃跺簲璇ユ敮鎸佽繖涓懡浠ゃ傝繖涓搷浣滅殑鐩殑鏄悜璁懼鍙戦佷竴涓嚜鍔ㄥ懡浠わ細縐誨姩鎽勫儚鏈哄埌鎯寵鐨勪綅緗劧鍚庨氳繃榪借釜綆楁硶浠g悊PTZ鎿嶄綔銆備嬌鐢ㄥ師瀛愬懡浠わ紝寤惰繜琚渶灝忓寲銆傜Щ鍔ㄤ綅緗槸鍙夌殑涓斿彲浠ユ寜鐓т笁縐嶆ā寮忚繘琛岃緗細 PTZ璁懼闇鏀寔閫氳繃GetStatus鍛戒護鎶ュ憡PTZ鐘舵併侾TZ鐘舵佸寘鍚互涓嬩俊鎭細
• ProfileToken [tt:ReferenceToken]
瀵圭幇鏈夊獟浣撻厤緗枃浠剁殑寮曠敤
• Position [tt:PTZVector]
鎸囧畾緇濆鐩爣浣嶇疆鐨勭煝閲?br />• Speed – 鍙塠tt:PTZSpeed]
鍙夐熷害鐭㈤噺
鍝嶅簲錛圧ESPONSE錛?/strong>: 絀烘秷鎭?br />閿欒錛團AULTS錛?/strong>錛?br />• env:Sender - ter:InvalidArgVal - ter:NoProfile
璇鋒眰鐨勯厤緗枃浠秚oken鍐匬rofileToken涓嶅瓨鍦ㄣ?br />• env:Sender - ter:InvalidArgVal - ter:NoPTZProfile
璇鋒眰鐨勯厤緗枃浠秚oken鏈紩鐢≒TZ閰嶇疆銆?br />• env:Sender - ter:InvalidArgVal - ter:SpaceNotSupported
寮曠敤浜哖TZ鑺傜偣涓嶆敮鎸佺殑絀洪棿銆?br />• env:Sender - ter:InvalidArgVal - ter:InvalidPosition
璇鋒眰鐨勪綅緗秴鍑轟簡鐣岄檺銆?br />• env:Sender - ter:InvalidArgVal - ter:InvalidSpeed
璇鋒眰鐨勯熷害瓚呭嚭浜嗙晫闄愩?br />璁塊棶鏉冮檺綾伙紙ACCESS CLASS錛?/strong>錛?br />ACTUATE5.3.2. 鐩稿縐誨姩錛圧elativeMove錛?br />
• ProfileToken [tt:ReferenceToken]
瀵圭幇鏈夊獟浣撻厤緗枃浠剁殑寮曠敤
• Translation [tt:PTZVector]
鎸囧畾鐩稿浜庡綋鍓嶄綅緗殑浣嶇疆騫崇Щ鐨勫悜閲?br />• Speed – 鍙塠tt:PTZSpeed]
鍙夐熷害鐭㈤噺
鍝嶅簲錛圧ESPONSE錛?/strong>: 絀烘秷鎭?br />閿欒錛團AULTS錛?/strong>錛?br />• env:Sender - ter:InvalidArgVal - ter:NoProfile
璇鋒眰鐨勯厤緗枃浠秚oken鍐匬rofileToken涓嶅瓨鍦ㄣ?br />• env:Sender - ter:InvalidArgVal - ter:NoPTZProfile
璇鋒眰鐨勯厤緗枃浠秚oken鏈紩鐢≒TZ閰嶇疆銆?br />• env:Sender - ter:InvalidArgVal - ter:SpaceNotSupported
寮曠敤浜哖TZ鑺傜偣涓嶆敮鎸佺殑絀洪棿銆?br />• env:Sender - ter:InvalidArgVal - ter:InvalidTranslation
璇鋒眰鐨勮漿鎹㈣秴鍑轟簡鐣岄檺銆?br />• env:Sender - ter:InvalidArgVal - ter:InvalidSpeed
璇鋒眰鐨勯熷害瓚呭嚭浜嗙晫闄愩?br />璁塊棶鏉冮檺綾伙紙ACCESS CLASS錛?/strong>錛?br />ACTUATE5.3.3. 榪炵畫縐誨姩錛圕ontinuousMove錛?br />
• ProfileToken [tt:ReferenceToken]
瀵圭幇鏈夊獟浣撻厤緗枃浠剁殑寮曠敤
• Velocity [tt:PTZSpeed]
閫熷害鐭㈤噺鎸囧畾姘村鉤錛屼刊浠板拰鍙樼劍鐨勯熷害銆?br />• Timeout– 鍙塠tt:duration]
鍙夎秴鏃?br />鍝嶅簲錛圧ESPONSE錛?/strong>: 絀烘秷鎭?br />閿欒錛團AULTS錛?/strong>錛?br />• env:Sender - ter:InvalidArgVal - ter:NoProfile
璇鋒眰鐨勯厤緗枃浠秚oken鍐匬rofileToken涓嶅瓨鍦ㄣ?br />• env:Sender - ter:InvalidArgVal - ter:NoPTZProfile
璇鋒眰鐨勯厤緗枃浠秚oken鏈紩鐢≒TZ閰嶇疆銆?br />• env:Sender - ter:InvalidArgVal - ter:SpaceNotSupported
寮曠敤浜哖TZ鑺傜偣涓嶆敮鎸佺殑絀洪棿銆?br />• env:Sender - ter:InvalidArgVal - ter:InvalidTranslation
璇鋒眰鐨勮漿鎹㈣秴鍑轟簡鐣岄檺銆?br />• env:Sender - ter:InvalidArgVal - ter:TimeoutNotSupported
鎸囧畾鐨勮秴鏃跺弬鏁頒笉鍦ㄦ敮鎸佺殑瓚呮椂鏃墮棿鑼冨洿鍐呫?br />• env:Sender - ter:InvalidArgVal - ter:InvalidSpeed
璇鋒眰鐨勯熷害瓚呭嚭浜嗙晫闄愩?br />璁塊棶鏉冮檺綾伙紙ACCESS CLASS錛?/strong>錛?br />ACTUATE5.3.4. 鍦扮悊縐誨姩錛圙eoMove錛?br />
• ProfileToken [tt:ReferenceToken]
瀵圭幇鏈夊獟浣撻厤緗枃浠剁殑寮曠敤
• Target [tt:GeoLocation]
鐩爣鍧愭爣銆?br />• Speed – 鍙塠tt:PTZSpeed]
鎸囧畾姘村鉤錛屼刊浠板拰鍙樼劍鐨勯熷害鐭㈤噺銆?br />• AreaWidth – 鍙塠xs:float]
瑕佹樉紺虹殑鍙夊尯鍩熴?br />• AreaHeight – 鍙塠xs:float]
瑕佹樉紺虹殑鍙夊尯鍩熴?br />
璇鋒眰鐨勯厤緗枃浠秚oken鍐匬rofileToken涓嶅瓨鍦ㄣ?br />• env:Sender - ter:InvalidArgVal - ter:NoPTZProfile
璇鋒眰鐨勯厤緗枃浠秚oken鏈紩鐢≒TZ閰嶇疆銆?br />• env:Sender - ter:InvalidArgVal - ter:GeoMoveNotSupported
璁懼涓嶆敮鎸佸湴鐞嗙Щ鍔ㄣ?br />• env:Sender - ter:InvalidArgVal - ter:UnreachablePosition
璇鋒眰鐨勮漿鎹㈣秴鍑轟簡鐣岄檺銆?br />• env:Sender - ter:InvalidArgVal - ter:TimeoutNotSupported
鎸囧畾鐨勮秴鏃跺弬鏁頒笉鍦ㄦ敮鎸佺殑瓚呮椂鏃墮棿鑼冨洿鍐呫?br />• env:Sender - ter:InvalidArgVal - ter:GeoLocationUnknown
鐢變簬鍦扮悊浣嶇疆鏈厤緗垨涓嶅彲鐢紝璇ュ崟鍏冩棤娉曟墽琛孏eoMove銆?br />璁塊棶鏉冮檺綾伙紙ACCESS CLASS錛?/strong>錛?br />ACTUATE5.3.5. 鍋滄錛圫top錛?br />
• ProfileToken [tt:ReferenceToken]
瀵圭幇鏈夊獟浣撻厤緗枃浠剁殑寮曠敤
• PanTilt – 鍙塠xs:boolean]
鍋滄姘村鉤鍜屼刊浠版搷浣滐紙榛樿涓簍rue錛夈?br />• Zoom – 鍙塠xs:boolean]
鍋滄鍙樼劍鎿嶄綔錛堥粯璁や負true錛夈?br />鍝嶅簲錛圧ESPONSE錛? 絀烘秷鎭?br />閿欒錛團AULTS錛?/strong>錛?br />• env:Sender - ter:InvalidArgVal - ter:NoProfile
璇鋒眰鐨勯厤緗枃浠秚oken鍐匬rofileToken涓嶅瓨鍦ㄣ?br />• env:Sender - ter:InvalidArgVal - ter:NoPTZProfile
璇鋒眰鐨勯厤緗枃浠秚oken鏈紩鐢≒TZ閰嶇疆銆?br />璁塊棶鏉冮檺綾伙紙ACCESS CLASS錛?/strong>錛?br />ACTUATE5.3.6. 縐誨姩騫跺紑濮嬭窡韙紙MoveAndStartTracking錛?br />
• 閫氳繃鍦扮悊浣嶇疆鍧愭爣
• 閫氳繃棰勭疆浣峵oken
• 閫氳繃PTZVector浣嶇疆
璇鋒眰浣嶇疆縐誨姩鐨勭殑閫熷害鍙傛暟浼樺厛浜庣浉搴旂殑PTZ閰嶇疆鐨勯粯璁ら熷害銆傚鏋滃紩鐢ㄧ┖闂村惈鏈夐熷害鍙傛暟錛岄偅涔圥TZ鑺傜偣闇鏀寔閫熷害絀洪棿銆?br /> 濡傛灉鍦ㄥ悓涓涓澶囦腑瀹屾垚浜嗕睛瀵熷拰榪借釜錛岄偅涔圤bjectID寮曠敤鍙互浣滀負鍙傛暟錛屼互鎸囧畾搴旇窡韙摢涓璞°?br /> 璇鋒眰鐨勭粷瀵逛綅緗澶囨棤娉曞埌杈撅紝鍒欐搷浣滃皢澶辮觸銆?br />璇鋒眰錛圧EQUEST錛?
• ProfileToken [tt:ReferenceToken]
瀵圭幇鏈夊獟浣撻厤緗枃浠剁殑寮曠敤
• GeoLocation – 鍙?[tt:GeoLocation]
鍙夌洰鏍囧潗鏍囥?br />• PresetToken – 鍙塠tt:ReferenceToken]
瀵逛竴涓瓨鍦ㄧ殑棰勭疆浣峵oken鐨勫彲閫夊簲鐢ㄣ?br />• TargetPosition – 鍙塠tt:PTZVector]
鎸囧畾緇濆鐩爣浣嶇疆鐨勫彲閫夊悜閲忋?br />• Speed – 鍙塠tt:PTZSpeed]
鍙夐熷害鐭㈤噺銆?br />• ObjectID – 鍙塠tt:ObjectID]
瑕佽窡韙璞$殑鍙塐bject ID銆?br />鍝嶅簲錛圧ESPONSE錛?/strong>: 絀烘秷鎭?br />閿欒錛團AULTS錛?/strong>錛?br />• env:Sender - ter:InvalidArgVal - ter:NoProfile
璇鋒眰鐨勯厤緗枃浠秚oken鍐匬rofileToken涓嶅瓨鍦ㄣ?br />• env:Sender - ter:InvalidArgVal - ter:NoPTZProfile
璇鋒眰鐨勯厤緗枃浠秚oken鏈紩鐢≒TZ閰嶇疆銆?br />• env:Sender - ter:InvalidArgVal - ter:SpaceNotSupported
寮曠敤浜哖TZ鑺傜偣涓嶆敮鎸佺殑絀洪棿銆?br />• env:Sender - ter:InvalidArgVal - ter:InvalidPosition
璇鋒眰鐨勪綅緗秴鍑轟簡鐣岄檺銆?br />• env:Sender - ter:InvalidArgVal - ter:InvalidSpeed
璇鋒眰鐨勯熷害瓚呭嚭浜嗙晫闄愩?br />• env:Sender - ter:InvalidArgVal - ter:GeoMoveNotSupported
璁懼涓嶆敮鎸佸湴鐞嗙Щ鍔ㄣ?br />• env:Sender - ter:InvalidArgVal - ter:UnreachablePosition
璇鋒眰鐨勮漿鎹㈣秴鍑轟簡鐣岄檺銆?br />• env:Sender - ter:InvalidArgVal - ter:GeoLocationUnknown
鐢變簬鍦扮悊浣嶇疆鏈厤緗垨涓嶅彲鐢紝璇ュ崟鍏冩棤娉曟墽琛孏eoMove銆?br />• env:Sender - ter:InvalidArgVal - ter:NoToken
璇鋒眰鐨勯緗綅token涓嶅瓨鍦ㄣ?br />璁塊棶鏉冮檺綾伙紙ACCESS CLASS錛?/strong>錛?br />ACTUATE5.3.7. 鐘舵佽幏鍙栵紙GetStatus錛?br />
• 浣嶇疆Position (鍙? – 寮曠敤絀洪棿鎸囧畾浜戝彴鍗曞厓鐨勭粷瀵逛綅緗傜浉搴擯TZ閰嶇疆鐨勯粯璁ょ粷瀵圭┖闂村簲鍦ㄤ綅緗厓绱犱腑寮曠敤銆傚鏋滆澶囨湁StatusPosition鑳藉姏錛屽垯闇瑕佹樉紺烘淇℃伅銆?br />• 縐誨姩鐘舵丮oveStatus(鍙? – 琛ㄧず姘村鉤/淇話/鍙樼劍璁懼鍗曞厓褰撳墠鏄惁姝e湪縐誨姩銆佺┖闂叉垨澶勪簬浣嶇疆鐘舵併傚鏋滆澶囨湁MoveStatus鑳藉姏錛屽垯闇瑕佹樉紺烘淇℃伅銆傛湭鐭ョ姸鎬佷笉搴斿湪姝e父閿欒涓嬌鐢紝浣嗘槸鍦ㄥ垵濮嬪寲鎴栭敊璇姸鍐典笅浣跨敤銆?br />• 閿欒Error (鍙? – 琛ㄧず褰撳墠PTZ閿欒鐘舵併侻oveStatus鏈煡鐘舵佹椂錛屾樉紺鴻繖涓瓧孌點?br />• 鍥介檯鏍囧噯鏃墮棿 UTC Time – 鎸囧畾鐢熸垚鐘舵佹椂鐨刄TC鏃墮棿銆?br />璇鋒眰錛圧EQUEST錛?/strong>:
• ProfileToken [tt:ReferenceToken]
瀵圭幇鏈夊獟浣撻厤緗枃浠剁殑寮曠敤
鍝嶅簲錛圧ESPONSE錛?/strong>: 絀烘秷鎭?br />• PTZStatus[tt:PTZStatus]
璇鋒眰濯掍綋鏂囦歡鐨凱TZStatus銆?br />閿欒錛團AULTS錛?/strong>錛?br />• env:Sender - ter:InvalidArgVal - ter:NoProfile
璇鋒眰鐨勯厤緗枃浠秚oken鍐匬rofileToken涓嶅瓨鍦ㄣ?br />• env:Sender - ter:InvalidArgVal - ter:NoPTZProfile
璇鋒眰鐨勯厤緗枃浠秚oken鏈紩鐢≒TZ閰嶇疆銆?br />• env:Receiver – ter:Action - ter:NoStatus
璇鋒眰鐨勫獟浣撻厤緗枃浠朵腑娌℃湁鍙敤鐨凱TZ鐘舵併?br />璁塊棶鏉冮檺綾伙紙ACCESS CLASS錛?/strong>錛?br /> READ_MEDIA
]]>
]]>
]]>
瀹瑰櫒
綾葷洰錛氬鍣?br />
鎻忚堪
闅忔満璁塊棶瀹瑰櫒鏄竴涓凱浠e櫒綾誨瀷涓洪殢鏈鴻闂凱浠e櫒鐨?a target="_blank" href="http://m.shnenglu.com/chinapeter2008/archive/2012/03/21/168512.html">鍙嗗鍣?/a>銆傚畠鎻愪緵甯擱噺緙撳啿鏃墮棿鏉ヨ闂殢鏈哄厓绱犮?br />
鏀瑰杽鑷?/strong>
鍙嗗鍣?/a>
鐩稿叧綾誨瀷
闄や簡瀹氫箟鍦?a target="_blank" href="http://m.shnenglu.com/chinapeter2008/archive/2012/03/21/168512.html">鍙嗗鍣?/a>涓殑綾誨瀷錛屾病鏈夊叾浠栭澶栫被鍨嬨傚敖綆¤繖涓凱浠e櫒綾誨瀷鐨勯渶姹傚姞寮轟簡錛氬繀欏繪槸闅忔満璁塊棶榪唬鍣ㄣ?br />
鏍囪娉?/strong>
X 闅忔満璁塊棶瀹瑰櫒妯″瀷綾誨瀷
a,b X綾誨瀷瀵硅薄
T X綾誨瀷鐨勫?br />
瀹氫箟
鏈夋晥琛ㄨ揪寮?/strong>
闄や簡瀹氫箟鍦?a target="_blank" href="http://m.shnenglu.com/chinapeter2008/archive/2012/03/21/168512.html">鍙嗗鍣?/a>涓殑琛ㄨ揪寮忓錛屼笅闈㈢殑琛ㄨ揪寮忎篃蹇呴』鏈夋晥銆?br />鍚嶇О 琛ㄨ揪寮?nbsp; 綾誨瀷闇姹?nbsp; 榪斿洖綾誨瀷
Element access錛堣闂厓绱狅級 a[n] n鍙互杞崲鎴恠ize_type 濡傛灉鍙彉錛岄偅涔堟槸寮曠敤錛屽惁鍒欎負甯擱噺寮曠敤
琛ㄨ揪寮忚涔?/strong>
涓涓〃杈懼紡鐨勮涔夊彧鍦ㄨ繖涓儏鍐典笅瀹氫箟錛屽綋浠栧湪鍙嗗鍣?/a>涓病鏈夊畾涔夛紝鎴栬呮湁棰濆鐨勪俊鎭?br />鍚嶇О 琛ㄨ揪寮?nbsp; 鍓嶆彁 璇箟 鍚庣疆
Element access(璁塊棶鍏冪礌) a[n] 0<=n<a.size() 榪斿洖瀹瑰櫒鐨勭n涓厓绱?br />
澶嶆潅搴︿繚璇?/strong>
璁塊棶鍏冪礌鐨勮繍琛屾椂澶嶆潅搴︿負緙撳啿甯擱噺鏃墮棿銆?br />
涓嶅彉閲?/strong>
Element access(璁塊棶鍏冪礌) a[n]榪斿洖鐨勫厓绱犱笌澧炲姞a.begin()n嬈″緱鍒扮殑緇撴灉榪唬鍣ㄨВ寮曠敤鏄竴鏍風殑銆?br />
妯″瀷
vector
deque
娉ㄩ噴
鍙傝
Iterator overview,闅忔満璁塊棶榪唬鍣?Sequence
]]>
綾葷洰錛氬鍣?/strong>
鎻忚堪
鍙嗗鍣ㄦ槸涓涓湁鍙屽悜榪唬鍣ㄧ殑鍓嶅悜瀹瑰櫒銆傚畠鍙互鍚戝悗鍚戝悗榪唬閫氳繃瀹瑰櫒銆?br />
鏀瑰杽鑷?/strong>
Forward Container
鐩稿叧綾誨瀷
浠嬬粛浜嗕袱涓柊鐨勭被鍨嬨傛澶栵紝榪唬鍣ㄧ被鍨嬪拰甯擱噺榪唬鍣ㄧ被鍨嬪繀欏繪弧瓚蟲瘮鍓嶅悜瀹瑰櫒(Forward Container)鏇翠弗鏍肩殑瑕佹眰銆傝凱浠e櫒綾誨瀷鍜屽弽鍚戣凱浠e櫒綾誨瀷蹇呴』鏄弻鍚戣凱浠e櫒(Bidirectional Iterators)錛岃屼笉浠呬粎鏄墠鍚戣凱浠e櫒(ForWard Iterators)銆?br />
鍙嶅悜榪唬鍣ㄧ被鍨?Reverse iterator type) X::reverse_iterator 涓涓弽鍚戣凱浠e櫒閫傞厤鍣ㄧ殑鍩鴻凱浠e櫒綾誨瀷鏄鍣ㄧ殑榪唬鍣ㄧ被鍨嬨傞掑鍙嶅悜榪唬鍣?rever_iterator)綾誨瀷瀵硅薄鍚戝悗縐誨姩閫氳繃瀹瑰櫒錛歊everse Iterator閫傞厤鍣ㄦ槧灝勪簡++鎿嶄綔絎﹀拰--鎿嶄綔絎︺?br />甯擱噺鍙嶅悜榪唬鍣ㄧ被鍨?Const reverse iterator type) X::const_reverse_iterator 涓涓弽鍚戣凱浠e櫒閫傞厤鍣ㄧ殑鍩鴻凱浠e櫒鏄鍣ㄧ殑甯擱噺榪唬鍣ㄧ被鍨嬨俒1]
鏍囪娉?/strong>
X 鍙嶅悜瀹瑰櫒妯″紡綾誨瀷
a,b 綾誨瀷X瀵硅薄
瀹氫箟
鏈夋晥琛ㄨ揪寮?/strong>
闄や簡鍓嶅悜瀹瑰櫒(Forward Container)涓殑琛ㄨ揪寮忓錛屼笅闈㈢殑琛ㄨ揪寮忎篃蹇呴』鏈夋晥
鍚嶇О 琛ㄨ揪寮?nbsp; 綾誨瀷瑕佹眰 榪斿洖綾誨瀷
鑼冨洿璧峰Beginning of range a.rbegin() 濡傛灉a鏄彲鍙樼殑錛岄偅涔堟槸reverse_iterator,鍚﹀垯涓篶onst_reverse_iterator[1]
鑼冨洿緇撴潫End of range a.rend() 濡傛灉a鏄彲鍙樼殑錛岄偅涔堟槸reverse_iterator錛屽惁鍒欎負const_reverse_iterator[1]
琛ㄨ揪寮忚涔?/strong>
涓涓〃杈懼紡鐨勮涔夊彧鏈夊湪榪欑鎯呭喌涓嬪畾涔夛紝褰撳畠娌℃湁鍦ㄥ墠鍚戝鍣?Forward Container)涓畾涔夛紝鎴栬呮湁棰濆鐨勪俊鎭?br />鍚嶇О 琛ㄨ揪寮?鍓嶆彁 璇箟 鍚庣疆
閫嗗悜鑼冨洿璧峰Beginning of range a.rbegin() 鐩稿綋浜嶺::reverse_iterator(a.end())銆?a.rbegin()鏄彁棰嗘垨鑰呮槸past-the-end銆傚綋a.size() == 0鏄紝瀹冧負past-the-end銆?br />閫嗗悜鑼冨洿緇撴潫End of reverse range a.rend() 鐩稿綋浜嶺::reverse_iterator(a.begin())銆?a.rend()鏄痯ast-the-end銆?br />
澶嶆潅鎬т繚璇?/strong>
rbegin()鍜宺end()榪愯鏃跺鏉傛ф槸鎽婇攢鏃墮棿涓哄父鏁般?br />
涓嶅彉鍥犵礌
鏈夋晥鑼冨洿 [a.rbegin(), a.rend())鏄竴涓湁鏁堣寖鍥淬?br />絳夊緟鑼冨洿 a.begin()鍒癮.end()涔嬮棿鐨勮窛紱誨拰a.rbegin()鍒癮.rend()涔嬮棿鐨勮窛紱繪槸涓鏍風殑銆?br />
妯″瀷
vector
list
deque
娉ㄩ噴
[1]涓涓鍣ㄧ殑榪唬鍣ㄧ被鍨嬪拰甯擱噺榪唬鍣ㄧ被鍨嬫湁鍙兘鏄浉鍚岀殑綾誨瀷錛氫竴涓鍣ㄤ笉闇瑕佹彁渚涘彲鍙樼殑榪唬鍣ㄣ傚洜姝ゅ弽鍚戣凱浠e櫒綾誨瀷鍜屽父閲忓弽鍚戣凱浠e櫒綾誨瀷涔熷彲鑳芥槸鐩稿悓鐨勩?br />
鍙傝
Iterator overview, Bidirectional Iterator, Sequence
]]>
瀹瑰櫒
綾葷洰錛氬鍣?br />
鎻忚堪
鍓嶅悜瀹瑰櫒涓殑鍏冪礌鏄寜涓瀹氱殑欏哄簭鎺掑簭鐨勶細榪欎釜欏哄簭涓嶄細鍥犱負榪唬鑰岃嚜鍔ㄦ敼鍙樸備竴瀹氱殑欏哄簭瑕佹眰鍏佽瀹氫箟鐩哥瓑鐨勫厓绱狅紙濡傛灉瀹瑰櫒涓殑鍏冪礌鏄彲浠ユ瘮杈冪浉絳夌殑Equality Comparable錛夊拰瀛楀吀搴忥紙濡傛灉瀹瑰櫒涓殑鍏冪礌綾誨瀷鏄彲浠ユ瘮杈冨皬浜庣殑 LessThen Comparable錛夈?br />
鍓嶅悜瀹瑰櫒涓殑榪唬鍣ㄦ弧瓚沖墠鍚戣凱浠e櫒鐨勮姹傦細鍥犳錛屽墠鍚戝鍣ㄦ敮鎸佸閫氶亾綆楁硶錛屽茍鍏佽鍚屼竴涓鍣ㄥ彲浠ュ悓鏃舵嫢鏈夊涓縺媧葷殑榪唬鍣ㄣ?br />
瀹屽杽(Refinement of)
Container,EqualityComparable,LessThanComparable
鐩稿叧綾誨瀷
闄や簡瀹瑰櫒鎬誨畾涔夌殑錛屾病鏈夊叾浠栭澶栫殑綾誨瀷銆傜劧鑰岋紝榪唬鍣ㄧ被鍨嬬殑瑕佹眰鍔犲己錛氳凱浠e櫒綾誨瀷蹇呴』鏄墠鍚戣凱浠e櫒妯″紡銆?br />
鏍囪娉?/strong>
X 鏄竴涓墠鍚戝鍣ㄦā寮忕殑綾誨瀷
a,b 綾誨瀷X鐨勫璞?br />T 綾誨瀷X鐨勫?br />
瀹氫箟
鏈夋晥琛ㄨ揪寮?/strong>
闄や簡瀹瑰櫒涓畾涔夌殑琛ㄨ揪寮忓,EqualityComparable,鍜孡essThanComparable錛屼笅闈㈢殑琛ㄨ揪寮忓繀欏繪槸鏈夋晥鐨勩?br />鍚嶅瓧 琛ㄨ揪寮?nbsp; 綾誨瀷瑕佹眰 榪斿洖綾誨瀷
絳夊紡(Equality) a == b T鏄疎qualityComparable 鍙漿鎹㈡垚bool
涓嶇瓑寮?Inequality) a != b T鏄疎qualityComparable 鍙漿鎹㈡垚bool
灝忎簬(Less) a < b T鏄疞essThanComparable 鍙漿鎹㈡垚bool
澶т簬(Greater) a > b T鏄疞essThanComparable 鍙漿鎹㈡垚bool
灝忎簬鎴栫瓑浜?Less or equal) a <= b T鏄疞essThanComparable 鍙漿鎹㈡垚bool
澶т簬鎴栫瓑浜?Greater or equal)a >= b T鏄疞essThanComparable 鍙漿鎹㈡垚bool
琛ㄨ揪寮忚涔?/strong>
涓涓〃杈懼紡鐨勮涔夊彧鏈夊湪榪欑鎯呭喌涓嬪畾涔夛紝褰撳畠娌℃湁瀹氫箟鍦–ontainer, EqualityComparable, 鎴栬匧essThanComparable錛屾垨鑰呮湁棰濆鐨勪俊鎭?br />鍚嶅瓧 琛ㄨ揪寮?nbsp; 鍓嶆彁 璇箟 鍚庣疆
絳夊紡(Equality) a == b 濡傛灉a.size() == b.size()鑰屼笖a涓殑姣忎釜鍏冪礌閮界瓑浜巄涓殑瀵瑰簲鐨勫厓绱狅紝閭d箞榪斿洖true銆傚惁鍒欒繑鍥瀎alse銆?br />灝忎簬(Less) a < b 鐩稿綋浜巐exicographical_compare(a,b)
澶嶆潅鎬ф媴淇?/strong>
絳夊紡鍜屼笉絳夊紡鐨勬搷浣滀笌瀹瑰櫒鐨勫ぇ灝忓憟綰挎у叧緋匯?br />
涓嶅彉
欏哄簭 涓や釜涓嶅悓鐨勮凱浠e櫒榪唬涓涓墠鍚戝鍣ㄧ殑錛岄兘鏄互鍚屾牱鐨勯『搴忚闂畠鐨勫厓绱狅紝鎻愪緵涓涓病鏈夊共棰勬х殑鎿嶄綔銆?br />
妯″瀷
vector
list
slist
deque
set
hash_set
map
hash_map
multiset
hash_multiset
multimap
hash_multimap
娉ㄩ噴
鍙傝
iterator overview, Forward Iterator, Sequence
]]>瀹瑰櫒
綾葷洰錛氬鍣?br />鎻忚堪
瀹瑰櫒鏄竴涓彲浠ュ瓨鍌ㄥ璞★紙瀹冪殑鍏冪礌錛夛紝騫跺叿鏈夎闂叾鍏冪礌鐨勬柟娉曠殑涓涓璞°傜壒鍒槸錛屾瘡涓涓鍣ㄦā寮忕被鍨嬮兘鏈変竴涓叧鑱旂殑榪唬鍣ㄧ被鍨嬫潵閬嶅巻瀹瑰櫒涓殑鍏冪礌銆?br />
涓嶈兘淇濊瘉瀹瑰櫒涓殑鍏冪礌鎸夌壒瀹氱殑鏂瑰紡鏉ュ瓨鍌紱浜嬪疄涓婏紝涓嶅悓鐨勬槸姣忔榪唬鍣ㄦ槸濡備綍閫氳繃瀹瑰櫒鐨勩備篃涓嶈兘淇濊瘉瀹瑰櫒鐨勫涓凱浠e櫒鏄竴鐩存湁鏁堢殑銆傦紙鐗瑰畾鐨勫鍣ㄧ被鍨嬶紝鍍忓墠鍚戝鍣ㄦ槸鎻愪緵榪欐牱鐨勪繚璇佺殑銆傦級
瀹瑰櫒“鎷ユ湁”瀹冪殑鍏冪礌錛氬瓨鍌ㄥ湪涓涓鍣ㄤ腑鐨勫厓绱犵殑瀵垮懡涓嶈兘瓚呰繃瀹瑰櫒鏈韓銆俒1]瀹屽杽
Assignable鐩稿叧綾誨瀷
(Value type)鍊肩被鍨?nbsp; X::value_type 瀛樺偍鍦ㄥ鍣ㄤ腑鐨勫璞$被鍨嬨傚肩被鍨嬪繀欏繪槸Assignable錛屼絾涓嶅繀鏄疍efaultConstructible.[2]
(Iterator type)榪唬鍣ㄧ被鍨?X::iterator 榪唬鍣ㄧ被鍨嬬敤鏉ラ亶鍘嗗鍣ㄧ殑鍏冪礌銆傝凱浠e櫒鐨勫肩被鍨嬪氨鏄鍣ㄧ殑鍊肩被鍨嬨傚繀欏誨彲浠ヤ粠iterator type杞崲鎴恈onst iterator type銆傝凱浠e櫒鐨勭被鍨嬪繀欏繪槸涓涓緭鍏ヨ凱浠e櫒銆俒3]
(Const iterator type)甯擱噺榪唬鍣ㄧ被鍨?X::const_iterator 鏄竴涓彲浠ユ煡鐪嬩絾涓嶈兘淇敼瀹瑰櫒涓厓绱犵殑榪唬鍣ㄧ被鍨嬨俒3][4]
(Reference type)寮曠敤綾誨瀷 X::reference 鏄竴涓涓哄儚瀹瑰櫒鍊肩被鍨嬪紩鐢ㄧ殑綾誨瀷銆俒5]
(Const reference type)甯擱噺寮曠敤綾誨瀷 X::const_reference 鏄竴涓涓哄儚瀹瑰櫒鍊肩被鍨嬪父閲忓紩鐢ㄧ殑綾誨瀷銆俒5]
(Pointer type)鎸囬拡綾誨瀷 X::pointer 鏄竴涓涓哄儚瀹瑰櫒鍊肩被鍨嬫寚閽堢殑綾誨瀷銆俒6]
(Distance type)璺濈綾誨瀷 X::distance_type 涓涓湁絎﹀彿鏁存暟綾誨瀷鏉ヨ〃紺轟袱涓鍣ㄨ凱浠e櫒涔嬮棿鐨勮窛紱匯傛綾誨瀷蹇呴』璺熻凱浠e櫒涔嬮棿鐨勮窛紱葷被鍨嬫槸涓鏍風殑銆俒2]
(Size type)澶у皬綾誨瀷 X::size_type 涓涓棤絎﹀彿鏁存暟綾誨瀷鏉ヨ〃紺轟換浣曢潪璐熷肩殑瀹瑰櫒璺濈綾誨瀷銆俒2]鏍囪娉?/h3>
X 瀹瑰櫒妯″紡瀵硅薄
a,b X綾誨瀷瀵硅薄
T X綾誨瀷鐨勫?br />瀹氫箟
瀹瑰櫒鐨?size)澶у皬灝辨槸瀹冩墍鍖呭惈鐨勫厓绱犱釜鏁幫紝瀹冩槸涓涓潪璐熸暟銆?br />
瀹瑰櫒鐨?area)闈㈢Н灝辨槸瀹冨崰鐢ㄧ殑瀛楄妭鏁般傛洿紜垏鍦拌錛屽畠鏄厓绱犵殑闈㈢Н鐨勬誨拰鍔犱笂涓庡鍣ㄦ湰韜浉鍏崇殑浠諱綍寮閿銆傚鏋滃鍣ㄧ殑鍊肩被鍨婽鏄竴涓畝鍗曠殑綾誨瀷錛堣屼笉鏄竴涓鍣ㄧ被鍨嬶級錛岄偅涔堣繖涓鍣ㄧ殑闈㈢Н灝辨槸sizeof(T)鐨勫父鏁板嶃備篃灝辨槸璇達紝涓涓畝鍗曞肩被鍨嬬殑瀹瑰櫒a鐨勯潰縐槸O(a.size())銆?br />
涓涓?variable sized)鍙彉澶у皬鐨勫鍣ㄦ彁渚涙彃鍏ュ拰/鎴栫Щ闄ゅ厓绱犵殑鏂規硶錛涘鍣ㄥぇ灝忓彲鑳戒細鍙樺寲銆備竴涓?fixed size)鍥哄畾澶у皬鐨勫鍣紝瀹冪殑澶у皬鍦ㄥ畠鐨勭敓鍛藉懆鏈熷唴鏄竴鍙笉鍙樼殑銆備竴浜涘浐瀹氬ぇ灝忕殑瀹瑰櫒綾誨瀷錛屽ぇ灝忓湪緙栬瘧鏃剁‘瀹氥?br />鏈夋晥琛ㄨ揪寮?/h3>
闄や簡Assignable,EqualityComparable,鍜孡essThanComparable榪欎簺宸茬粡瀹氫箟鐨勮〃杈懼紡錛屼笅闈㈢殑琛ㄨ揪寮忎篃蹇呴』鏄湁鏁堢殑銆?br />
鍚嶇О 琛ㄨ揪寮?nbsp; 綾誨瀷瑕佹眰 榪斿洖綾誨瀷
鑼冨洿璧峰 a.begin() 濡傛灉鏄彲鍙樼殑錛岃繑鍥炲間負iterator(榪唬鍣?錛屽惁鍒欎負const_iterator[4][7]
鑼冨洿緇撴潫 a.end() 濡傛灉鏄彲鍙樼殑錛岃繑鍥炲間負iterator(榪唬鍣?錛屽惁鍒欎負const_iterator[4]
澶у皬 a.size() size_type
鏈澶у閲?nbsp; a.max_size() size_type
絀哄鍣?nbsp; a.empty() 鍙漿鎹㈡垚bool綾誨瀷
浜ゆ崲 a.swap(b) void琛ㄨ揪寮忚涔?/h3>
鍚嶇О 琛ㄨ揪寮?nbsp; 鍓嶆彁 璇箟 鍚庣疆
鎷瘋礉鏋勯犲嚱鏁?nbsp; X(a) X().size() == a.size()銆俋()鍖呭惈浜哸涓墍鏈夊厓绱犵殑鍓湰銆?br />鎷瘋礉鏋勯犲嚱鏁?nbsp; X b(a) b().size() == a.size()銆俠鍖呭惈浜哸涓墍鏈夊厓绱犵殑鍓湰銆?br />璧嬪艱繍綆楃 b = a b().size() == a.size()銆俠鍖呭惈浜哸涓墍鏈夊厓绱犵殑鍓湰銆?br />鏋愭瀯鍑芥暟 a.~X() 閿姣乤涓墍鏈夌殑鍏冪礌錛屽茍閲婃斁涓哄畠浠垎閰嶇殑鍐呭瓨錛堝鏋滄湁鐨勮瘽錛夈?br />鑼冨洿璧峰 a.begin() 榪斿洖涓涓寚鍚戝鍣ㄧ涓涓厓绱犵殑榪唬鍣?iterator)銆俒7] a.begin()瑕佷箞鏄彁棰嗚涔堟槸past-the-end銆備粎浠呭綋a.size == 0鐨勬椂鍊欏畠鎵嶆槸past-the-end銆?br />鑼冨洿緇撴潫 a.end() 榪斿洖涓涓寚鍚戝鍣ㄧ殑鏈鍚庝竴涓厓绱犵殑鍚庨潰鐨勮凱浠e櫒(iterator)銆?nbsp; a.end 鏄?past-the-end銆?br />澶у皬 a.size() 榪斿洖瀹瑰櫒鐨勫ぇ灝忥紝涔熷氨鏄厓绱犵殑涓暟銆俒8] a.size() >= 0 && a.size <= a.max_size()
鏈澶у閲?nbsp; a.max_size() 榪斿洖瀹瑰櫒鐨勬渶澶у閲忋俒8] a.max_size() >= 0 && a.max_size >= a.size()
絀哄鍣?nbsp; a.empty() 鐩稿綋浜?a.size() == 0 錛堜絾鏄彲鑳芥洿蹇級
浜ゆ崲 a.swap(b) 鐩稿綋浜巗wap(a,b)[9]
澶嶆潅鎬ф媴淇?br />
鎷瘋礉鏋勯犲嚱鏁幫紝澶嶅埗鎿嶄綔絎︼紝鏋愭瀯鍑芥暟璺熷鍣ㄥぇ灝忓憟綰挎у叧緋匯?br />
begin()鍜宔nd()鐨勬憡閿鏃墮棿涓哄父鏁般?br />
size()璺熷鍣ㄥぇ灝忓憟綰挎у叧緋匯俒10] max_size()鍜宔mpty()鐨勬憡閿鏃墮棿涓哄父鏁般傚鏋滀綘瑕佹祴璇曚竴涓鍣ㄦ槸鍚︿負絀猴紝浣犲簲璇ユ繪槸鍐檆.empty鑰屼笉鏄痗.size() == 0銆傝繖涓や釜琛ㄨ揪寮忔槸絳変環鐨勶紝浣嗗墠鑰呭彲鑳借蹇緱澶氥?br />
swap()鐨勬憡閿鏃墮棿涓哄父鏁般俒9]涓嶅彉閲?/h3>
鏈夋晥鑼冨洿 浠諱綍瀹瑰櫒a錛?[a.begin(), a.end())鏄竴涓湁鏁堣寖鍥淬俒11]
鑼冨洿澶у皬 a.size()絳変簬浠巃.begin()鍒癮.end()鐨勮窛紱匯?br />瀹屾暣鎬?nbsp; 涓涓凱浠g畻娉昜a.begin(), a.end())錛屽皢浼氶亶鍘哸涓殑姣忎釜鍏冪礌銆俒11]妯″瀷
vector娉ㄩ噴
[1]鍏冪礌鐨勫鍛戒笉鑳借秴榪囧叾瀹瑰櫒鍙兘鐪嬭搗鏉ュ儚涓涓弗閲嶇殑闄愬埗錛屼簨瀹炰笂錛屽畠騫朵笉鏄檺鍒躲傝娉ㄦ剰鎸囬拡鍜岃凱浠e櫒閮芥槸瀵硅薄錛涘氨鍍忎換浣曞叾浠栧璞′竴鏍鳳紝浠栦滑鍙互琚瓨鍌ㄥ湪涓涓鍣ㄥ唴銆傚湪榪欑鎯呭喌涓嬶紝瀹瑰櫒鎷ユ湁鎸囬拡鏈韓錛岃屼笉鏄畠浠寚鍚戠殑瀵硅薄銆?br />
[2]榪欑琛ㄨ揪寮忓繀欏繪槸涓涓猼ypedef錛岃繖鏄竴涓被鍨嬬殑浠e悕璇嶃?br />
[3]榪欏彲鑳芥槸涓涓猼ypedef鎴栬呭叾浠栫被鍨嬶紝鎴栬呬竴涓畾涔夊祵濂楃被浣滀負涓涓唴閮ㄧ被鐨刋鐨勭壒瀹氱殑綾誨瀷銆?br />
[4]瀹瑰櫒鐨刬terator綾誨瀷鍜宑onst iterator綾誨瀷鍙兘鏄竴鏍風殑錛氫笉鑳戒繚璇佹瘡涓鍣ㄥ繀欏繪湁涓涓浉鍏崇殑鍙彉榪唬鍣ㄧ被鍨嬨備緥濡傦紝set鍜宧ash_set瀹氫箟iterator鍜宑onst iterator涓哄悓涓綾誨瀷銆?br />
[5]寮曠敤綾誨瀷闇瑕佷笌鏅欳++寮曠敤綾誨瀷鏈夌浉鍚岀殑璇箟錛屼絾瀹冨疄闄呬笂騫朵笉鏄櫘閫氱殑C++寮曠敤銆備緥濡傦紝鍦ㄦ煇浜涘疄鐜頒腑錛屽彲鑳戒細鎻愪緵棰濆鐨勫紩鐢ㄧ被鍨嬫潵鏀寔闈炴爣鍑嗙殑鍐呭瓨妯″瀷銆備絾鏄娉ㄦ剰錛?#8220;鏅鴻兘寮曠敤”錛堢敤鎴峰畾涔夌殑寮曠敤綾誨瀷鎻愪緵棰濆鐨勫姛鑳斤級涓嶆槸涓涓彲琛岀殑閫夋嫨銆傜敤鎴峰畾涔夌殑綾誨瀷涓嶅彲鑳戒笌C++寮曠敤綾誨瀷鍏鋒湁鐩稿悓璇箟錛屽洜涓篊++璇█涓嶆敮鎸侀噸鏂板畾涔夌殑鎴愬憳璁塊棶榪愮畻絎?operator.)銆?br />
[6]璺焄5]涓殑寮曠敤綾誨瀷涓鏍鳳紝鎸囬拡綾誨瀷闇瑕佷笌C++鎸囬拡鏈夌浉鍚岀殑璇箟錛屼絾瀹為檯騫朵笉鏄疌++鎸囬拡銆?#8220;鏅鴻兘鎸囬拡”涓嶅悓浜?#8220;鏅鴻兘寮曠敤”鏄湁鍙兘鐨勩傚洜涓哄彲浠ヤ負鐢ㄦ埛瀹氫箟綾誨瀷鏉ュ畾涔夌殑寮曠敤鎿嶄綔絎﹀拰鎸囬拡鎴愬憳璁塊棶榪愮畻絎﹀彲浠ヨ闂繍綆楃*鍜?>銆?br />
[7]榪唬鍣ㄧ被鍨?iterator type)蹇呴』鏄竴涓緭鍏ヨ凱浠e櫒(input iterator)錛屽畠鍙彁渚涗簡涓涓潪甯歌杽寮辯殑鎷呬繚錛涚壒鍒槸錛岃緭鍏ヨ凱浠g畻娉曞繀欏婚兘鏄?#8220;鍗曢氶亾”銆傚鍣ㄥ彧鏈変竴涓畝鍗曠殑榪唬鍣?iterator)鍙互闅忔椂嬋媧匯侳orward Container(鍓嶅悜瀹瑰櫒)娌℃湁榪欎釜闄愬埗銆?br />
[8]涓涓浐瀹氬ぇ灝忕殑瀹瑰櫒錛宻ize() == max_size()銆?br />
[9]瀵逛簬浠諱綍Assignable綾誨瀷錛宻wap鍙互瀹氫箟鍒嗛厤鏉℃銆傝繖闇瑕佷笁涓換鍔★紝姣忎竴涓鍣ㄧ被鍨嬶紝瀹瑰櫒鐨勫ぇ灝忓憟綰挎у叧緋匯傜劧鑰岋紝鍦ㄦ煇縐嶆剰涔変笂錛宎.swap(b)鏄浣欑殑銆傚畠鐨勫瓨鍦ㄤ粎浠呬負浜嗘彁楂樻晥鐜囷細璁稿瀹瑰櫒錛屽vector鍜宭ist錛屽畠瀹炵幇swap鐨勬椂闂村鏉傚害鏄笉鍙樼殑錛岃屼笉鏄嚎鎬х殑銆備竴浜涘鍣ㄧ被鍨媂錛岄偅涔堝畠浠殑妯℃澘鍖杝wap(X&,X&)鍙互綆鍗曞湴鍐欏湪X::swap(X&)銆備篃灝辨槸璇碭::swap(X&)鍙兘瀹氫箟鍦ㄦ墽琛屾椂闂存槸甯擱噺鐨勬儏鍐典笅銆備笉鏄墍鏈夌殑瀹瑰櫒綾籜閮介渶瑕佽繖鏍風殑涓涓垚鍛樺嚱鏁幫紝浣嗘槸濡傛灉榪欐牱鐨勫嚱鏁板瓨鍦紝閭d箞蹇呴』淇濊瘉鎽婇攢鏃墮棿涓哄父閲忋?br />
[10]瀵逛簬璁稿瀹瑰櫒錛屽vector鍜宒eque錛宻ize鏄疧(1).榪欐弧瓚充簡O(N)鐨勮姹傘?br />
[11]铏界劧[a.begin(), a.end())蹇呴』鏄竴涓湁鏁堢殑鑼冨洿錛岃屼笖姣忎釜鍏冪礌蹇呴』閮藉寘鍚湪瀹瑰櫒鍐咃紝浣嗘槸鍦ㄨ繖涓寖鍥村唴鍑虹幇鐨勯『搴忔槸涓嶇‘瀹氱殑銆傚鏋滀綘涓ゆ閬嶅巻涓涓鍣紝瀹冧笉鑳戒繚璇佽繖涓ゆ鐨勯亶鍘嗛『搴忔槸鐩稿悓鐨勩侳orward Container鍓嶅悜瀹瑰櫒娌℃湁榪欎釜闄愬埗銆?br />鍙傝
榪唬鍣ㄦ榪幫紝杈撳叆榪唬鍣紝搴忓垪
]]>
2銆佷竴鍏冨嚱鏁?br /> 3銆佷簩鍏冨嚱鏁?br /> 4銆丄daptable Generator(鍙傚簲鐨勪笉闇瑕佸弬鏁扮殑鍑芥暟)
5銆佷竴鍏冨彲閫傚簲鍑芥暟
6銆佷簩鍏冨彲閫傚簲鍑芥暟
7銆佽皳璇?br /> 1銆佽皳璇?br /> 2銆佷簩鍏冭皳璇?br /> 3銆佸彲閫傚簲璋撹瘝
4銆佷簩鍏冨彲閫傚簲璋撹瘝
5銆丼trictWeakOrdering
8銆丮onoid鏇歸敊
9銆侀殢鏈烘暟鐢熸垚鍣?br /> 3銆侀瀹氫箟鍑芥暟瀵硅薄
1銆佺畻鏈繍綆?br /> 1銆佸姞娉?br /> 2銆佸噺娉?br /> 3銆佷箻娉曪紙鍘熷悕“嬈?#8221;錛?br /> 4銆侀櫎娉?br /> 5銆佸彇妯¤繍綆?br /> 6銆佸惁瀹?br /> 2銆佹瘮杈冪畻娉?br /> 1銆乪qual_to
2銆乶ot_equal_to
3銆乴ess
4銆乬reater
5銆乴ess_equal
6銆乬reater_equal
3銆侀昏緫鎿嶄綔
1銆乴ogical_and(閫昏緫涓?
2銆乴ogical_or(閫昏緫鎴?
3銆乴ogical_not(閫昏緫鍚?
4銆佸箍涔夎韓浠借璇佹搷浣?br /> 1銆乮dentity
2銆乸roject1st
3銆乸roject2nd
4銆乻elect1st
5銆乻elect2nd
5銆乻ubtractive_rng
4銆佸嚱鏁板璞¢傞厤鍣?br /> 1銆乥inder1st
2銆乥inder2nd
3銆乸tr_fun
4銆乸ointer_to_unary_function
5銆乸ointer_to_binary_function
6銆乽nary_negate
7銆乥inary_negate
8銆乽nary_compose
9銆乥inary_compose
10銆佹垚鍛樺嚱鏁伴傞厤鍣?br /> 1銆乵em_fun
2銆乵em_fun_ref
3銆乵em_fun1
4銆乵em_fun1_ref
7銆乁tilities
1銆佹蹇?br /> 1銆丄ssignable
2銆丏efault Constructible
3銆丒quality Comparable
4銆丩essThan Comparable
2銆佸嚱鏁?br /> 1銆佸叧緋繪搷浣滅
3銆佺被
1銆乸air
8銆佸唴瀛樺垎閰?br /> 1銆佺被
1銆佸垎閰嶅櫒
2銆乺aw_storage_iterator
2銆佸嚱鏁?br /> 1銆乧onstruct
2銆乨estroy
3銆乽ninitialized_copy
4銆乽ninitialized_copy_n
5銆乽ninitialized_fill
6銆乽ninitialized_fill_n
7銆乼emporary_buffer
8銆乬et_temporary_buffer
9銆乺eturn_temporary_buffer
9銆佽璁℃枃妗?br /> 1銆佺嚎紼嬪畨鍏?br /> 2銆佸鏉傝鏍肩殑鎰忎箟
3銆佸瓧絎︿覆鐨勮〃紺?br />10銆佸垎綾葷儲寮?br />11銆佸叏鏂囩儲寮?br />
]]>
1銆佺畝浠?br /> 2銆佹蹇?br /> 1銆佹櫘閫氳凱浠e櫒
2銆佽緭鍏ヨ凱浠e櫒
3銆佽緭鍑鴻凱浠e櫒
4銆佸墠鍚戣凱浠e櫒
5銆佸弻鍚戣凱浠e櫒
6銆侀殢鏈鴻闂凱浠?
3銆佽凱浠e櫒鏍囩
1銆佺畝浠?br /> 2銆乮terator_traits
3銆乮terator_category
4銆乨istance_type
5銆乿alue_type
6銆佽凱浠e櫒鏍囩綾?br /> 1銆乮nput_iterator_tag
2銆乷utput_iterator_tag
3銆乫orward_iterator_tag
4銆乥idirectional_iterator_tag
5銆乺andom_access_iterator_tag
7銆佽凱浠e櫒鍩虹綾?br /> 1銆乮nput_iterator
2銆乷utput_iterator
3銆乫orward_iterator
4銆乥idirectional_iterator
5銆乺andom_access_iterator
4銆佽凱浠e嚱鏁?br /> 1銆乨istance
2銆乤dvance
5銆佽凱浠e櫒綾?br /> 1銆乮stream_iterator
2銆乷stream_iterator
3銆乫ront_insert_iterator
4銆乥ack_insert_iterator
5銆乮nsert_iterator
6銆乺everse_iterator
7銆乺everse_bidirectional_iterator
8銆乺aw_storage_iterator
9銆乻equence_buffer
5銆佺畻娉?br /> 1銆佷笉浼氭敼鍙樺唴瀹圭殑綆楁硶
1銆乫or_each
2銆乫ind
3銆乫ind_if
4銆乤djacent_find
5銆乫ind_fist_of
6銆乧ount
7銆乧ount_if
8銆乵ismatch
9銆乪qual
10銆乻earch
11銆乻earch_if
12銆乫ind_end
2銆佷細鏀瑰彉鍐呭鐨勭畻娉?br /> 1銆乧opy
2銆乧opy_n
3銆乧opy_backward
4銆佷氦鎹?br /> 1銆乻wap
2銆乮ter_swap
3銆乻wap_ranges
5銆乼ransform
6銆佹浛鎹?br /> 1銆乺eplace
2銆乺eplace_if
3銆乺eplace_copy
4銆乺eplace_copy_if
7銆乫ill
8銆乫ill_n
9銆乬enerate
10銆乬enerate_n
11銆佺Щ闄?br /> 1銆乺emove
2銆乺emove_if
3銆乺emove_copy
4銆乺emove_copy_if
12銆乽nique
13銆乽nique_copy
14銆乺everse
15銆乺everse_copy
16銆乺otate
17銆乺otate_copy
18銆乺andom_shuffle
19銆乺andom_sample
20銆乺andom_sample_n
21銆乸artition
22銆乻table_partition
3銆佹帓搴?br /> 1銆佹帓搴?br /> 1銆乻ort
2銆乻table_sort
3銆乸artial_sort
4銆乸artial_sort_copy
5銆乮s_sorted
2銆乶th_element
3銆佷簩榪涘埗鎼滅儲
1銆乴ower_bound
2銆乽pper_bound
3銆乪qual_range
4銆乥inary_search
4銆乵erge
5銆乮nplace_merge
6銆佹帓搴忚寖鍥村唴璁劇疆鎿嶄綔
1銆乮ncludes
2銆乻et_union
3銆乻et_intersection
4銆乻et_difference
5銆乻et_symmetric_difference
7銆佸爢鎿嶄綔
1銆乸ush_heap
2銆乸op_heap
3銆乵ake_heap
4銆乻ort_heap
5銆乮s_heap
8銆佹渶澶у煎拰鏈灝忓?br /> 1銆乵in
2銆乵ax
3銆乵in_element
4銆乵ax_element
9銆乴exicographical_compare
10銆乴exicographical_compare_3way
11銆乶ext_permutation
12銆乸rev_permutation
4銆佸箍涔夋暟鍊肩畻娉?br /> 1銆乮ota
2銆乤ccumulate
3銆乮nner_product
4銆乸artial_sum
5銆乤djacent_difference
7銆乸ower
涓嬩竴鑺?銆?a id="viewpost1_TitleUrl" href="../archive/2012/03/12/167718.html">鏍囧噯妯℃澘搴?鐩綍涓?鍑芥暟瀵硅薄銆乁tilities銆佸唴瀛樺垎閰?/a>銆?br />
]]>

“鎴戠殑浜у搧榪樻病鏈夊噯澶囧ソ銆?/strong>”浣犺榪欎箣鍓嶃傛垜浠兘鏇劇粡璇磋繃銆?br />
姣忎釜浜哄湪鍙戝竷浠栦滑絎竴涓駭鍝佺殑鏃跺欓兘浼氳寰椾粬浠殑浜у搧榪樻病鏈夊畬鍏ㄥ噯澶囧ソ銆傛垨鑰呯敋鑷蟲槸宸茬粡鍙戝竷鍦ㄤ嬌鐢ㄧ殑錛屼篃娌℃湁鎯寵薄涓殑閭d箞瀹岀編錛屽洜涓哄鏋滀綘鍙槸鍋氫竴鐐圭偣錛屼粬灝變細鍙樼殑鏇村ソ涓鐐廣傚湪姝e父鎯呭喌涓嬶紝榪欎細瀵艱嚧娼滃湪寰堝ぇ鐨勬敼鍠勮礬綰垮浘錛屽湪涓涓笉姝e父鐨勬儏鍐典笅錛屽畠浼氬鑷磋繖涓駭鍝佹棤浼戞鐨勮凱浠o紝濮嬬粓寰椾笉鍒扮粨鏋溿?br />
澶х害鍦ㄤ竴騫村墠錛屾垜鎷滆浜哖ixar鐨勫姙鍏浜嗚В鍒版湁鍏蟲浜у搧鐨勪竴鐐癸紝鎴戞兂鍜屽ぇ瀹跺垎浜笅闈㈢殑榪欎釜灝忔晠浜嬶細
Over at Pixar...
Matt Silas(@matty8r),Pixar鐨勯暱鏈熼泧鍛樺甫鎴戝弬瑙備簡浠栦滑鐨勫姙鍏錛屾垜涔熸帴鍙椾簡浠栫殑鐩涙儏嬈懼緟銆備粠Palo Alto鍑哄彂緇忚繃闀胯揪涓灝忔椂鐨勮濺紼嬬粓浜庡埌浜咵meryville錛孧att鍚戞垜灞曠ず浜嗘暣涓釜鐜葷拑涓婄殑濂ユ柉鍗″錛岀劧鍚庡紑濮嬪叏闈㈢殑鍙傝銆傛垜浠湁鎷嶅緢澶氱収鐗囷紝鎵浠ヨ繖閲屽ソ鐨勫儚鏄細VentureBeat,Urbanpeak銆?br />
鎴戜竴鐩存槸Pixar鐨勭矇涓?-涓嶄粎浠呮槸浠栦滑鐨勪駭鍝侊紝榪樻湁浠栦滑鐨勫巻鍙插拰鏂囧寲銆傚叧浜嶱ixar鍜屼粬浠垱閫犵數褰辯殑榪囩▼鏄涔堢殑榪蜂漢錛岃繕鏈夊緢澶氳瘽瑕佽錛屾垜鎺ㄨ崘涓鏈功錛氥奣o Infinity and Beyond銆嬨傚畠璁╂垜鐭ラ亾浜嗗湪浠栦滑鐨勭數褰變腑浣跨敤浜嗕竴浜涢潪甯哥殑鍚堜綔鍜岃凱浠g殑鏂規硶錛屾瘯绔燂紝鍋氱殑姣旇緝澶氱殑榪樻槸杞歡銆傝繖閲屾湁涓浜涚畝鍗曠殑渚嬪瓙錛?br />
Pixar鐨勫洟闃熸槸鐢辨湁鍒涙剰鐨勪漢鎵嶅拰杞歡宸ョ▼甯堢粍鎴愮殑銆傝繖鏄弽鏄犲湪浠栦滑鐨勯珮灞傦紝John Lasseter鍜孍d Catmull銆?br />
Pixar鐢靛獎鐨勮繃紼嬫槸浠庝竴涓晠浜嬪紑濮嬬殑--鐒跺悗鏁呬簨鎯呰妭--鐒跺悗鐢ㄤ竴浜涙柟娉曟潵褰㈡垚鏈鍚庣殑钃濆浘銆?br />
浠栦滑姣忓ぉ鍦ㄦ瀯寤轟粬浠殑“鐢靛獎”錛岃浠栦滑鐭ラ亾浠栦滑鐨勭珛鍦猴紝鍦ㄩ渶瑕佺殑鍦版柟鐢ㄤ笂绱犳弿鍜岃供鑴氱殑CGI--璺熶紶緇熺數褰變笉鍚岀殑鏄湪瀹冪殑鏈鍚庛?br />
鏈夋椂鍊欙紝浠栦滑涓?#8220;鐜╁叿鎬誨姩鍛?#8221;鐨勫師濮嬬増鏈紝浠栦滑蹇呴』鍋滄浠栦滑姝e湪鍋氱殑浜嬫儏錛岀劧鍚庨噸鏂板紑濮嬭繖涓數褰卞埗浣滆繃紼嬬洿鍒版墍鏈変簨鎯呯‘瀹氫笅鏉?-鍚搗鏉ュ緢鐔熸倝錛屾湁鏈ㄦ湁錛?br />
鍏朵粬鏈夊叧楂樼鎶涓栫晫鐨勬槸Steve Jobs浜茶嚜鐩戠潱浠栦滑鐨勫姙鍏絀洪棿鐨勮璁°傘婅秴浜恒嬪婕擝rad Bird瀵逛簬榪欎釜鏈変笓涓氱殑璇存硶錛?br />
“榪欐槸鎴戜滑鐨勫緩絳戙傝繖涓棿錛屼粬閫犱簡涓涓ぇ鐨勪腑搴尯錛屾渶鍒濅技涔庤寰楄繖鏄湪嫻垂絀洪棿銆傚師鍥犲氨鏄ぇ瀹舵潵涔嬪悗閮藉湪鍚勮嚜鐨勫姙鍏絀洪棿宸ヤ綔銆傝蔣浠跺伐紼嬪笀鍦ㄨ繖閲岋紝鐢誨姩鐢葷殑鍦ㄨ繖閲岋紝榪樻湁閭h竟鏄仛璁捐鐨勩係teve 鎶婁俊綆憋紝浼氳瀹わ紝椋熷爞錛屾渶鍑鴻壊鐨勬渶鎯充笉鍒扮殑鏄蕩瀹わ紝灞呯劧鍦ㄦ渶涓棿--褰撳垵璁╂垜浠寰楀緢鐤媯--姣忎釜浜虹殑涓澶╅兘鍙互鍦ㄨ繖閲屽畬鎴愩侸obs鎰忚瘑鍒板綋浜轟滑鍦ㄤ簬鍏朵粬浜虹溂紲炴帴瑙︽椂錛屼簨鎯呭氨浼氬彂鐢熶簡銆傛墍浠ヤ粬鎯沖姙娉曚笉璁╀粬浠帴瑙﹀埌鍏朵粬鍏徃銆?#8221;
鏃犺濡備綍錛屾垜鍚埌寰堝榪欐牱鐨勬晠浜?-鍍忛鏈熺殑涓鏍鳳紝榪欐鍙傝鏄毦浠ュ繕璁扮殑錛屾渶鍚庯紝鎴戜滑鍋滃湪Pixar紺煎搧搴椼?br />
鍦ㄩ偅閲岋紝鎴戦棶Matt涓涓紤闂茬殑闂錛屼竴騫翠箣鍚庯紝鎴戣繕娓呮鐨勮寰楋細
鎴戣錛?#8220;Pixar鐢靛獎涓綘鏈鍠滄鍝竴閮紵”
Matt: *鍙規皵*
鎴戠瑧鐫璇達細 “涓轟粈涔堝徆姘旓紵”
Matt: “榪欐槸涓涓緢媯樻墜鐨勯棶棰橈紝鍥犱負浠栦滑閮芥槸寰堝ソ鐨勩備絾鏄悓鏃訛紝鍥犱負浣犲湪榪欓噷宸ヤ綔錛屼綘鑺變簡閭d箞闀跨殑鏃墮棿鍦ㄤ笂闈紝浣犲緢闅句細鍘葷湅瀹冦備綘鐭ラ亾浣犳墍浣滅殑鎵鏈夌殑灝忓喅瀹氬拰鎵鏈夐噰鍙栫殑鎹峰緞銆備綘涔熻寰楅偅浜涢闄╀綘蹇呴』鏀懼純鍜岀粨鏉熺殑錛屽洜涓轟綘娌℃湁鏃墮棿浜嗐傛墍浠ュ綋浣犵湅鐢靛獎鐨勬椂鍊欙紝浣犲彲浠ョ湅鍒版墍鏈夌殑緙洪櫡錛岀煡閬撲綘鐪嬪埌浣犵殑鏈嬪弸鍜屽浜烘椂錛屼綘鎵嶄細寮濮嬪繕璁拌繖浜涖?#8221;
鍝囧摝錛佸姝ゆ繁鍒匯?br />
涓栫晫涓婂儚Pixar榪欐牱鐨勫叕鍙革紝鏃犵枒浼氫駭鐢熶竴浜涙渶浠や漢鍠滅埍鍜屽畬緹庣殑緇忛獙錛屼絾鏄渶鍚庤繕鏄病鑳戒駭鐢熶竴涓駭鍝侊紝璁╁洟闃熶腑鎵鏈夌殑浜洪兘璁や負瀹冩槸鏈濂界殑銆備箣鍚庢濊冧負浠涔堜細鏄繖鏍峰憿錛屽師鍥犳槸鏄捐屾槗瑙佺殑--鐢ㄩ瑙佹у拰鎶鑳芥潵瀹屽杽涓浜涜兘浣夸箣鏇村ソ錛岃繕闇瑕佽兘鍔涙槸涓涓法澶х殑鍏抽敭鐐廣傛瘮浣犵殑鑳藉姏鏇村叧閿殑錛屾垜瑙夊緱鏄畬鍠勬垨鑰呰В鍐寵璁¢棶棰樼殑閫熷害涓嶅蹇傚洜涓烘墍鏈夌殑璁捐浣挎暣涓郴鍒楀鉤琛★紝榪欎釜鏃跺欎綘涓嶇粨鏉燂紝浣犲埌搴曟兂瑕佷粈涔堝憿銆?br />
鏁欒錛氫綘姘歌繙鏄笉浼氶珮鍏寸殑銆?/strong>
鍦ㄨ繖嬈¤皥璇濅腑鎴戝緱鍒頒簡錛屽氨鏄垜浠仛寰堝宸ヤ綔璁╂垜浠殑浜у搧鏇村ソ錛屼絾鏄案榪滀笉浼氬埌杈炬弧鎰忋備竴涓紵浜轟竴鏃﹁榪囦綘鐨勪駭鍝佹槸鍨冨溇--涔熻浣犱竴鐩翠細璁や負瀹冨氨鏄瀮鍦俱傜劧鑰屽湪鍚屼竴鏃墮棿錛屽畠鏄垜浠垱鎰忕殑鏂椾簤錛屾渶緇堜嬌鎴戜滑鐨勫垱浣滆秺鏉ヨ秺濂姐傛湁涓澶╋紝鍗充嬌浣犱粛鐒惰涓轟綘鐨勪駭鍝佸緢緋熺硶錛屼綘浼氱湅鍒頒綘鐨勯【瀹㈡鍦ㄥ紑蹇冨湴浣跨敤瀹冦?br />
涓涓煭鏆傜殑鐬棿錛屼綘浼氬繕璁板浜庡畠浣犱負浠涔堜細涓嶆弧鎰忋?br />
鐗瑰埆鎰熻阿Matt Silas(@浠ユ拻1985, 鍏蟲敞瀹?緇欐垜涓涓嫭鐗圭殑緇忛獙銆傦紙鏈鍚庯紝鎴戝湪Luxo Jr.鏃佽竟鎷嶄簡涓寮犵収鐗囧悗紱誨紑浜嗐傦級

鍠滄榪欑瘒鏂囩珷鍚楋紵
濡傛灉浣犲枩嬈㈣繖綃囨枃绔狅紝璇瘋闃呮垨鑰呭叧娉ㄦ垜鐨勫井钖勩傚湪榪欓噷浣犺繕鍙互鎵懼埌鏇村鐨勬枃绔犮?br />
Andrew Chen鍐?br />
Canaan緲昏瘧 寰杽錛園浠ユ拻1985錛?br />
2012騫?鏈?鏃?涓嬪崍7:27
]]>
鏍囧噯妯℃澘搴?鐩綍涓 瀹瑰櫒
1銆丼TL綆浠?br />2銆佸浣曚嬌鐢ㄦ枃妗?br />3銆佸鍣?br /> 1銆佹蹇?br /> 1銆佷竴鑸蹇?br /> 1銆?a target="_blank" href="http://m.shnenglu.com/chinapeter2008/archive/2012/03/13/167769.html">瀹瑰櫒
2銆?a target="_blank" href="http://m.shnenglu.com/chinapeter2008/archive/2012/03/19/168310.html">鍓嶅悜瀹瑰櫒
3銆?a target="_blank" href="http://m.shnenglu.com/chinapeter2008/archive/2012/03/21/168512.html">鍙嗗鍣?/a>
4銆?a target="_blank" href="http://m.shnenglu.com/chinapeter2008/archive/2012/03/31/169644.html">闅忔満璁塊棶瀹瑰櫒
2銆佸簭鍒?br /> 1銆佸簭鍒?br /> 2銆佸墠闈㈡彃鍏ュ簭鍒?br /> 3銆佸悗闈㈡彃鍏ュ簭鍒?br /> 3銆佸叧鑱斿鍣?br /> 1銆佸叧鑱斿鍣?br /> 2銆佺畝鍗曞叧鑱斿鍣?br /> 3銆佺粨瀵瑰叧鑱斿鍣?br /> 4銆佹帓搴忓叧鑱斿鍣?br /> 5銆佸搱甯屽叧鑱斿鍣?br /> 6銆佸搱甯屽嚱鏁?br /> 7銆佸崟涓鍏寵仈瀹瑰櫒
8銆佸閲嶅叧鑱斿鍣?br /> 9銆佸崟涓鎺掑簭鍏寵仈瀹瑰櫒
10銆佸閲嶆帓搴忓叧鑱斿鍣?br /> 11銆佸崟涓鍝堝笇鍏寵仈瀹瑰櫒
12銆佸閲嶅搱甯屽叧鑱斿鍣?br /> 2銆佸鍣ㄧ被
1銆佸簭鍒?br /> 1銆乿ector(鍚戦噺)
2銆乨eque(闃熷垪)
3銆乴ist(琛?
4銆乥it_vector(浣嶅悜閲?
2銆佸叧鑱斿鍣?br /> 1銆乻et(闆嗗悎)
2銆乵ap(鏄犲儚)
3銆乵ultiset(澶氶噸闆?
4銆乵ultimap(澶氶噸鏄犲儚)
5銆乭ash_set(鍝堝笇闆?
6銆乭ash_map(鍝堝笇鏄犲儚)
7銆乭ash_multimap(鍝堝笇澶氶噸鏄犲儚)
8銆乭ash(鍝堝笇)
3銆佸瓧絎︿覆鍖?br /> 1銆丆haracter Traits
2銆乧har_traits
3銆乥asic_string
4銆乺ope
5銆佸鍣ㄩ傞厤鍣?br /> 1銆乻tack(鏍?
2銆乹ueue(闃熷垪)
3銆乸riority_queue(浼樺厛闃熷垪)
6銆乥itset(浣嶉泦)
涓嬩竴鑺?銆婃爣鍑嗘ā鏉垮簱 鐩綍浜?榪唬鍣ㄣ?/div>
]]>
STL鐨勫叾浠栭儴鍒?Other parts of the STL)
濡傛灉浣犵悊瑙g畻娉曪紝榪唬鍣ㄥ拰瀹瑰櫒錛岄偅涔堝氨鍑犱箮鐭ラ亾STL鐨勬墍鏈夈傜劧鍚庯紝STL榪樺寘鎷竴浜涘叾浠栫被鍨嬬殑緇勪歡銆傞鍏堬紝STL鍖呮嫭涓浜泆tilities錛氬湪搴撶殑涓嶅悓鍦版柟浣跨敤鐨勯潪甯稿熀鏈殑姒傚康鍜屽姛鑳姐侫ssignable姒傚康錛屼緥濡傦紝鎻忚堪閭d簺鏈夎祴鍊兼搷浣滅鍜屾嫹璐濇瀯閫犲嚱鏁扮殑綾誨瀷銆傚嚑涔庢墍鏈塖TL鐨勭被閮芥槸Assignable妯″紡錛屽嚑涔庢墍鏈夌殑綆楁硶閮借姹備粬浠殑鍙傛暟鏄疉ssignable妯″紡鐨勩?br />
鍏舵錛孲TL鍖呭惈涓浜涗綆灞傛鐨勬満鍒舵潵鍒嗛厤鍜岄噴鏀懼唴瀛樸傚垎閰嶅櫒闈炲父涓撲笟錛屾棤璁轟綘浣跨敤瀹冧滑鐨勭洰鐨勬槸浠涔堬紝浣犻兘鍙互瀹夊叏鐨勫拷鐣ュ畠浠?br />
鏈鍚庯紝STL鍖呮嫭浜嗗ぇ閲忕殑鍑芥暟瀵硅薄闆嗭紝涔熻縐頒負鍑藉瓙(functors)銆傛濡傝凱浠e櫒鏄寚閽堢殑娉涘寲錛屽嚱鏁板璞℃槸鍑芥暟鐨勬硾鍖栵細浣犲彲浠ヤ嬌鐢ㄦ櫘閫氱殑鍑芥暟璋冪敤鏂規硶鏉ヨ皟鐢ㄤ竴涓嚱鏁板璞★細榪欓噷鏈夊嚑縐嶄笉鍚屾蹇電殑鍑芥暟瀵硅薄鍏崇郴錛屽寘鎷竴鍏冨嚱鏁幫紙鍙湁涓涓弬鏁扮殑鍑芥暟瀵硅薄錛屽嵆涓涓縐頒負f(x)鐨勫嚱鏁板璞★級鍜屼簩鍏冨嚱鏁幫紙闇瑕佷袱涓弬鏁扮殑鍑芥暟瀵硅薄錛屽嵆涓涓縐頒負f(x,y)鐨勫嚱鏁板璞★級銆傚嚱鏁板璞℃槸涓鑸▼搴忕殑涓涓噸瑕佺粍鎴愰儴鍒嗭紝鍥犱負瀹冧滑涓嶄粎浠呭厑璁稿璞$被鍨嬫娊璞℃硾鍨嬬紪紼嬭繕鍏佽姝e湪鎵ц鐨勬搷浣滄娊璞℃硾鍨嬬紪紼嬨?/div>
]]>
杈撳叆榪唬鍣ㄥ疄闄呬笂鏄竴涓瘮杈冭杽寮辯殑姒傚康錛氬畠蹇呴』鐨勮姹傚緢灝戙傝緭鍏ヨ凱浠e櫒蹇呴』鏀寔鎸囬拡鐨勭畻鏈繍綆楃殑涓涓瓙闆嗭紙浣跨敤鍓嶇紑鍜屽悗緙鎿嶄綔絎?鏉ュ鍔犺緭鍏ヨ凱浠e櫒錛夛級錛屼絾鏄茍涓嶆槸闇瑕佹寚閽堟墍鏈夌殑綆楁湳榪愮畻銆傝繖瀵逛簬find綆楁硶宸茬粡瓚沖浜嗭紝浣嗘槸涓浜涘彟澶栫殑綆楁硶鐨勫弬鏁伴渶瑕佹弧瓚抽澶栫殑瑕佹眰銆俽everse綆楁硶錛屽畠鐨勫弬鏁扮殑“鍑忓皯”(decrement)鍔熻兘蹇呴』瑕佸儚“澧炲姞”(increment)鍔熻兘涓鏍風殑錛屽畠浣跨敤琛ㄨ揪寮?--last銆傚湪姒傚康鏂歸潰錛屾垜浠revers綆楁硶鐨勫弬鏁板繀欏繪槸鍙屽悜榪唬鍣?Bidirectional Iterator)妯″紡錛岃屼笉鏄緭鍏ヨ凱浠e櫒銆?br />
鍙屽悜榪唬鍣ㄦ蹇甸潪甯哥被浼間簬杈撳叆榪唬鍣ㄦ蹇碉細瀹冨彧鏄畝鍗曠殑澧炲姞浜嗕竴浜涢澶栫殑瑕佹眰銆傚弻鍚戣凱浠e櫒妯″紡綾誨瀷鏄緭鍏ヨ凱浠e櫒妯″紡綾誨瀷鐨勪竴涓瓙闆嗐備換浣曚竴涓被鍨嬶紝濡傛灉瀹冩槸鍙屽悜榪唬鍣ㄦā寮忥紝閭d箞瀹冭偗瀹氫篃鏄緭鍏ヨ凱浠e櫒妯″紡銆備緥濡傦紝int*錛屾棦鏄弻鍚戣凱浠e櫒妯″紡鍙堟槸杈撳叆榪唬鍣ㄦā寮忋備絾istream_iterator錛屽彧鏄竴涓緭鍏ヨ凱浠e櫒妯″紡銆傚畠涓嶇鍚堟洿涓ユ牸鐨勫弻鍚戣凱浠e櫒鐨勮姹傘傚弻鍚戣凱浠e櫒鏄緭鍏ヨ凱浠e櫒鐨勪竴涓敼榪涖傛敼榪涜繖涓蹇靛氨璺焎++綾諱腑鐨勭戶鎵塊潪甯哥浉浼鹼細鎴戜滑浣跨敤涓嶅悓鐨勮瘝錛岃屼笉鍙畠“緇ф壙”鐨勬渶涓昏鐨勫師鍥犳槸寮鴻皟“鏀硅繘”鐨勬蹇佃屼笉鏄疄闄呯被鍨嬨?br />
闄や簡鎴戜滑宸茬粡璁ㄨ鐨勪袱涓凱浠e櫒姒傚康錛屽叾瀹炶繕鏈夊彟澶栦笁涓凱浠e櫒姒傚康錛氳繖5涓凱浠e櫒姒傚康鏈夎緭鍑鴻凱浠e櫒錛岃緭鍏ヨ凱浠e櫒錛屽墠鍚戣凱浠e櫒錛屽弻鍚戣凱浠e櫒鍜岄殢鏈鴻闂凱浠e櫒錛涘墠鍚戣凱浠e櫒鏄緭鍏ヨ凱浠e櫒鐨勬敼榪涳紝鍙屽悜榪唬鍣ㄦ槸鍓嶅悜榪唬鍣ㄧ殑鏀硅繘錛岄殢鏈鴻闂凱浠e櫒鏄弻鍚戣凱浠e櫒鐨勬敼榪涖傝緭鍑鴻凱浠e櫒涓庡叾浠栧洓涓凱浠e櫒鏄湁鍏崇郴鐨勶紝鎷呬笉鏄竴閮ㄥ垎灞傛鐨勬敼榪涳細瀹冧笉鏄換浣曞叾浠栬凱浠e櫒姒傚康鐨勬敼榪涳紝涔熸病鏈夊叾浠栬凱浠e櫒鏄粠鏀硅繘瀹冭屾潵鐨勩傝凱浠e櫒姒傝堪鏈夋洿澶氬叧浜庤凱浠e櫒涓鑸殑娑堟伅銆?br />
瀹瑰櫒綾伙紝鍍忚凱浠e櫒涓鏍鳳紝琚粍緇囨垚涓涓眰嬈$殑姒傚康銆傛墍鏈夊鍣ㄩ兘鏄鍣ㄦ蹇墊ā寮忥紱鏇村畬鍠勭殑姒傚康錛涘搴忓垪鍜屽叧鑱斿鍣紝鎻忚堪鐗瑰畾綾誨瀷鐨勫鍣ㄣ?br />
涓嬩竴鑺?銆奡TL鐨勫叾浠栭儴鍒嗐?br />
]]>
姒傚康鍜屽緩妯?Concepts and Modeling)
浠諱綍妯℃澘鍑芥暟鐨勪竴涓潪甯擱噸瑕佺殑闂錛屼笉浠呬粎鏄叧浜嶴TL綆楁硶錛岃屾槸浠涔堢被鍨嬮泦鍙互姝g‘鐨勬浛鎹㈠艦寮忔ā鏉垮弬鏁般傚緢鏄庢樉錛屼緥濡傦紝int* 鎴杁ouble*鍙互鏇挎崲find鍑芥暟鐨勫艦寮忔ā鏉垮弬鏁?strong>InputIterator銆傚悓鏍鋒竻妤氱殑鏄紝int鎴杁ouble鍙兘涓嶈錛歠ind鍑芥暟浣跨敤琛ㄨ揪寮?first錛屽拰鐢ㄦ搷浣滅錛屼粠鑰屼嬌int綾誨瀷瀵硅薄鎴杁ouble綾誨瀷瀵硅薄娌℃剰涔夈傞偅涔堝熀鏈殑絳旀鏄紝鍙戠幇STL闅愬紡瀹氫箟浜嗕竴濂楃被鍨嬬殑闇姹傦紝瀹冨彲浠ユ弧瓚寵繖浜涜姹傜殑瀹炰緥銆傛浛鎹?strong>InputIterator鐨勪換浣曠被鍨嬪繀欏繪彁渚涜繖浜涙搷浣滐細瀹冨繀欏昏兘澶熸瘮杈冧袱涓璞℃槸鍚︾浉絳夛紝瀹冨繀欏誨彲浠ュ鍔犺綾誨瀷鐨勪竴涓璞★紝瀹冨繀欏誨彲浠ラ氳繃璇ョ被鍨嬬殑寮曠敤鏉ヨ幏寰楀畠鎸囧悜鐨勫璞★紝渚濇綾繪帹銆?br />
find鍑芥暟騫朵笉鏄疭TL涓湁榪欎簺闇姹傜殑鍞竴鐨勭畻娉曪紱for_each鍑芥暟鍜宑ount鍑芥暟錛岃繕鏈夊叾浠栫畻娉曞嚱鏁扮殑鍙傛暟涔熷繀欏昏婊¤凍榪欎簺瑕佹眰銆傝繖浜涜姹傜浉褰撻噸瑕侊紝鍊煎緱鎴戜滑緇欏畠浠竴涓悕瀛楋細鎴戜滑縐拌繖縐嶇被鍨嬮泦鐨勮姹備負姒傚康(concept)錛屾垜浠О榪欎釜鐗瑰畾鐨勬蹇典負杈撳叆榪唬鍣?Input Iterator)銆備竴涓被鍨嬪鏋滄弧瓚充簡鎵鏈夎繖浜涜姹傦紝鎴戜滑璇磋繖涓被鍨嬬鍚堜竴涓蹇碉紝鎴栬呰鏄竴涓蹇墊ā鍨嬨傛垜浠int*鏄竴涓緭鍏ヨ凱浠e櫒(Input Iterator)鐨勬ā鍨嬶紝鍥犱負int*鎻愪緵浜嗚緭鍏ヨ凱浠e櫒鐨勬墍鏈夎姹傜殑鎿嶄綔銆?br />
姒傚康涓嶆槸C++璇█鐨勪竴閮ㄥ垎;娌℃湁鍔炴硶鍦ㄤ竴涓▼搴忎腑瀹氫箟涓涓垨鑰呯敵鏄庝竴涓蹇墊ā鍨嬬殑鐗瑰畾綾誨瀷銆傜劧鑰岋紝姒傚康鏄疭TL鐨勪竴涓瀬鍏墮噸瑕佺殑緇勬垚閮ㄥ垎銆備嬌鐢ㄦ蹇?concepts)浣垮緱鍐欑▼搴忔椂鏈夊彲鑳芥妸鎺ュ彛浠庡疄鐜頒腑娓呮鍦板垎紱伙細find鍑芥暟鐨勪綔鑰呭彧闇瑕佽冭檻榪欎釜鎺ュ彛絎﹀悎杈撳叆榪唬鍣?Input Iterator)姒傚康錛岃屼笉鏄幓瀹炵幇姣忎竴涓彲鑳界殑綾誨瀷絎﹀悎榪欎釜姒傚康銆傚悓鏍鳳紝濡傛灉浣犳兂浣跨敤find鍑芥暟,浣犲彧闇瑕佺‘淇濅綘浼犻掔粰浠栫殑鍙傛暟鏄緭鍏ヨ凱浠?Input Iterator)妯″瀷銆傝繖灝辨槸find鍑芥暟鍜宺everse鍑芥暟鍙互鐢ㄤ簬lists,vector,C鏁扮粍錛屽拰璁稿鍏朵粬綾誨瀷鐨勫師鍥狅細姒傚康緙栫▼錛岃屼笉鏄負鐗瑰畾綾誨瀷緙栫▼錛屼嬌寰楀畠鍙互閲嶇敤杞歡緇勪歡鍜岀粨鍚堣繖浜涚粍浠躲?br />
涓嬩竴鑺?銆婃敼榪?refinement)銆?/a>
]]>
鍦ㄤ笂闈鏁扮粍閫嗗悜鎺掑簭鐨勪緥瀛愪腑錛宺everse鐨勫弬鏁版槑鏄炬槸double*綾誨瀷銆傚鏋滅敤reverse閫嗗悜鎺掑簭vector鎴杔ist, 鍙傛暟鍙堟槸浠涔堝憿錛熶篃灝辨槸璇磖everse鐢蟲槑鐨勬槸浠涔堝弬鏁幫紝榪樻湁v.begin
()鍜寁.end()榪斿洖浠涔堬紵
絳旀灝辨槸reverse鐨勫弬鏁版槸榪唬鍣?iterators)灝辨槸鎸囬拡瀵逛竴鑸寲銆傛寚閽堟湰韜氨鏄凱浠e櫒錛屾墍浠everse鍙互閫嗗悜鎺掑簭C鏁扮粍涓殑鍏冪礌銆傜被浼肩殑錛寁ector鐢蟲槑浜嗗祵濂楃被鍨媔terator鍜?br />
const_iterator銆傚湪涓婇潰鐨勪緥瀛愪腑錛寁.begin()鍜寁.end()鐨勮繑鍥炵被鍨嬫槸 vector<int>::iterator銆備篃鏈変竴浜涜凱浠e櫒錛屽儚istream_iterator鍜宱stream_iterator錛屽畠浠笌瀹瑰櫒鏄病鏈?br />
鍏寵仈鐨勩?br />
榪唬鍣ㄦ槸璁╃畻娉曚笌瀹瑰櫒鍒嗙鎴愪負鍙兘錛氱畻娉曟槸妯℃澘錛岄渶瑕佽榪唬綾誨瀷鍙傛暟鍖栦嬌鐢紝鎵浠ュ畠浠笉浼氶檺鍒跺湪鏌愪竴縐嶅鍣ㄧ被鍨嬨傝冭檻錛屼緥濡傦紝濡備綍鍐欎竴涓畻娉曞湪涓涓寖鍥村唴榪涜綰挎ф悳绱?br />
銆備笅闈㈡槸STL涓璮ind綆楁硶銆?br />
template<class InputIterator, class T>
InputIterator find(InputIterator first, InputIterator last, const T&value)
{
while(first != last && *first != value)++first;
return first;
}
find鍑芥暟闇瑕佷笁涓弬鏁幫細涓や釜榪唬鍣ㄥ畾涔変竴涓寖鍥達紝榪樻湁涓涓獀alue鍊兼煡鎵俱傚畠鍦╗first,last)榪欎釜鑼冨洿鍐呬粠寮濮嬪埌鏈鍚庝竴涓竴涓鏌ヨ凱浠o紝褰撳畠鎵懼埌涓涓凱浠f寚鍚戠殑鍊艱窡鎴戜滑瀵繪壘
鐨勫肩浉鍚屾椂鎴栬呭畠鍒拌揪鑼冨洿鐨勭粨鏉熸椂錛屽氨鍋滄鏌ユ壘銆?br />first鍜宭ast琚敵鏄庝負InputIterator綾誨瀷錛岃孖nputIterator鏄竴涓ā鏉垮弬鏁般備篃灝辨槸璇村疄闄呬笂娌℃湁涓涓被鍨嬩負InputIterator錛氬綋浣犺皟鐢╢ind鍑芥暟鏃訛紝緙栬瘧鍣ㄤ細鎶婂艦寮忓弬鏁?br />
InputIterator鍜孴鏇挎崲鎴愬疄闄呯被鍨嬪弬鏁般傚鏋渇ind鍑芥暟鐨勫墠闈袱涓弬鏁扮被鍨嬩負int*錛岀涓変釜鍙傛暟綾誨瀷涓篿nt,閭d箞灝卞儚璋冪敤涓嬮潰鐨勫嚱鏁般?br /> int* find(int* first, int* last, const int& value)
{
while(first != last && *first != value)++first;
return first;
}
涓嬩竴鑺?銆婃蹇典笌寤烘ā銆?/div>
]]>
STL鏄竴涓寘鍚被錛岀畻娉曞拰榪唬鍣ㄧ殑C++搴擄紱瀹冩彁渚涜澶氳綆楁満縐戝鐨勫熀鏈畻娉曞拰鏁版嵁緇撴瀯銆係TL鏄竴涓熀鏈簱錛屾剰鍛崇潃瀹冪殑緇勬垚鏈夊ぇ閲忕殑鍙傛暟錛氬熀鏈笂姣忎釜緇勬垚閮ㄥ垎閮芥槸涓涓ā鏉褲傚湪浣犱嬌鐢⊿TL涔嬪墠瑕佸紕娓呮妯℃澘鏄庝箞宸ヤ綔鐨勩?br />
瀹瑰櫒鍜岀畻娉?/strong>
灝卞儚璁稿鍏朵粬綾誨簱涓鏍?STL搴撲篃鍖呭惈瀹瑰櫒綾伙細榪欎簺綾葷殑鎰忓浘鏄敤鏉ュ綰沖叾浠栧璞°係TL鍖呭惈Vector錛堢煝閲忥紝鍚戦噺錛夌被錛宭ist錛堟竻鍗曪級,deque錛堥槦鍒楋級,set錛堥泦錛?multiset錛堝閲嶉泦錛?map,multimap,hash_set錛堝搱甯岄泦錛?hash_multiset錛堝搱甯屽閲嶉泦錛?hash_map鍜宧ash_multimap銆傛墍鏈夎繖浜涚被閮芥槸涓涓ā鏉匡紝瀹冨彲浠ュ疄渚嬪寲鏉ュ綰充換浣曠被鍨嬬殑瀵硅薄銆備婦涓緥瀛愶紝浣犲彲浠ョ敤vector<int>鏉ヤ唬鏇挎櫘閫氱殑C鏁扮粍錛岃屼笖vector涓嶇敤綆$悊鍒嗛厤鍔ㄦ佸唴瀛樸?br />
vector<int> v(3); //澹版槑涓涓寘鍚?涓厓绱犵殑vector銆?br /> v[0] = 7;
v[1] = v[0] + 3;
v[2] = v[0] + v[1]; //v[0] == 7, v[1] == 10, v[2] == 17
STL涔熷寘鍚簡寰堝綆楁硶鐢ㄦ潵鎿嶄綔瀹瑰櫒涓殑鏁版嵁銆備綘鍙互浣夸竴涓獀etor涓殑鍏冪礌閫嗗悜鎺掑垪錛屼婦涓嬌鐢╮everse綆楁硶鐨勪緥瀛愩?br />
reverse(v.begin(), v.end()); // v[0] == 17, v[1] == 10, v[2] == 7
璋冪敤榪欎釜reverse鍑芥暟闇瑕佹敞鎰忎袱涓鐐廣傜涓錛屽畠涓嶆槸鎴愬憳鍑芥暟錛岃屾槸涓涓叏灞鍑芥暟銆傜浜岋紝瀹冮渶瑕佷袱涓弬鏁拌屼笉鏄竴涓細瀹冧笉鏄綔鐢ㄥ湪瀹瑰櫒涓婏紝鑰屾槸浣滅敤鍦ㄤ竴緋誨垪鍏冪礌涓娿傚湪榪欎釜鍏蜂綋鐨勪緥瀛愪竴緋誨垪鍏冪礌灝辨槸鏁翠釜瀹瑰櫒v銆?br />
榪欎簺浜嬪疄鐨勫師鐞嗛兘鏄竴鏍風殑錛歳everse錛屽儚鍏朵粬STL綆楁硶錛岄兘鏄笌STL瀹瑰櫒綾誨垎紱葷殑銆傝繖鎰忓懗鐫reverse涓嶄粎浠呭彧鑳界敤鍦╲ector涓殑鍏冪礌錛岃繕鍙互鐢ㄥ湪lists涓殑鍏冪礌錛岀敋鑷蟲槸C鏁扮粍涓殑鍏冪礌銆備笅闈㈢殑紼嬪簭鏄紜殑銆?br />
double A[6] = {1.2, 1.3, 1.4, 1.5, 1.6, 1.7}錛?br /> reverse(A, A + 6);
for(int i=0; i<6; ++i)
cout << "A[" << i << "]=" << A[i];
榪欎釜渚嬪瓙鐢ㄤ簡涓涓寖鍥達紝灝卞儚閫嗗簭涓涓獀ector鐨勪緥瀛愶細reverse鐨勭涓涓弬鏁版寚鍚戣繖涓寖鍥寸殑寮濮嬶紝絎簩涓弬鏁版寚鍚戣繖涓寖鍥寸殑鏈熬鐨勫悗闈€傝繖涓寖鍥存槸[A, A+6錛夛紱榪欎袱涓笉瀵圭О鐨勮鍙瘋浜烘兂鍒頒袱涓笉涓鏍風殑绔偣錛岀涓涓槸榪欎釜鑼冨洿鐨勫紑濮嬶紝絎簩涓槸榪欎釜鑼冨洿鏈鐨勫悗涓浣嶃?br />
涓嬩竴鑺傘婅凱浠e櫒銆?/a>
]]>
绱㈠紩
璁捐鏂囨。
鍏朵粬STL璧勬簮
IOstream搴擄紙瀹為獙錛?/p>
濡備綍浣跨敤鏈珯
STL涓嬭澆
鍒嗙被绱㈠紩
鏈鏂版秷鎭?/p>
甯歌闂
鍏佽鍏嶈垂浣跨敤錛屽鍒訛紝淇敼錛屽垎鍙戝拰鍑哄敭鏈蔣浠跺強鍏舵枃妗d互浠諱綍鐢ㄩ斻傚彧鏄湪鎷瘋礉鏂囦歡鍜屾敮鎸佹枃妗d腑閮借鏈夌増鏉冪敵鏄庛係ilicon Graphics 娌℃湁鍥犱負浠諱綍闄堣堪鏈蔣浠墮傚悎鑼冨洿銆傚畠鎸夊師鏍鋒彁渚涙病鏈変換浣曟媴淇濄?/p>
鐗堟潈鎵鏈?#169; 1994
鎯犳櫘鍏徃
鍘熸枃錛?a onclick="pageTracker._trackPageview('/outgoing/www.sgi.com/tech/stl/?referer=');" target="_blank">http://www.sgi.com/tech/stl/