??xml version="1.0" encoding="utf-8" standalone="yes"?>国产ww久久久久久久久久,亚洲日本va午夜中文字幕久久 ,久久影院综合精品http://www.shnenglu.com/chinapeter2008/category/14357.htmlc++爱好?/description>zh-cnSat, 19 Jun 2021 20:07:34 GMTSat, 19 Jun 2021 20:07:34 GMT60ONVIF协议云台服务规范(?-Ud操作 ONVIF PTZ Service Specification-Move Operationshttp://www.shnenglu.com/chinapeter2008/archive/2021/06/19/217721.htmlcanaancanaanSat, 19 Jun 2021 12:38:00 GMThttp://www.shnenglu.com/chinapeter2008/archive/2021/06/19/217721.htmlhttp://www.shnenglu.com/chinapeter2008/comments/217721.htmlhttp://www.shnenglu.com/chinapeter2008/archive/2021/06/19/217721.html#Feedback0http://www.shnenglu.com/chinapeter2008/comments/commentRss/217721.htmlhttp://www.shnenglu.com/chinapeter2008/services/trackbacks/217721.html5.3    Ud操作

    本节介绍三种UdPTZ单元操作Q绝寏V相Ҏ(gu)Ud。所有操作都需要profile tokenQ引用PTZ配置中的Media Profile?br />

    所有移动命令应以非d方式执行Q表CZ应等到请求的Ud操作完成。新的移动请求可以覆盖最后的Ud操作?/p>

    ׃本规范涉?qing)的物理讑֤范围q泛Q因此本规范不要求对PTZUd操作的特定相应时间。但是设备应量减少PTZUd命o(h)响应的gq。设备没有完全控制PTZ控制输入和设备移动的滞后。网l与客户端的延迟?x)增加滞后。实现应该尽快减设备的延迟?/p>

5.3.1.    l对UdQAbsoluteMoveQ?br />    如果PTZ节点支持l对水^/俯Ԓ或绝对变焦的UdQ则应支持绝对移动操作。这个命令的位置参数指定PTZ单元要移动的l对位置。它分ؓ(f)一个可选的水^/俯Ԓ元素和一个可选的变焦元素。如果忽略了水^/俯Ԓ位置Q则当前的水q?俯Ԓq动不受此命令的影响。变焦也是同L(fng)原理?/p>

    PTZ节点支持的绝对位|空_(d)如果省略了空间信息,则PTZ配置的相应的默认I间Q采用指定控件的媒体属性。设备仅为有l对位置I间提供支持l对水^/俯Ԓ或变焦的服务。现有的Ud操作命o(h)中的速度参数比PTZ配置中的默认速度优先U要高。如果空间引用了速度参数Q那么需要支持PTZ节点支持的速度I间?/p>

    如果无法辑ֈ所要求的绝对位|,操作失败?/p>

hQREQUESTQ?
• ProfileToken [tt:ReferenceToken]
对现有媒体配|文件的引用
• Position [tt:PTZVector]
指定l对目标位置的矢?br />• Speed – 可选[tt:PTZSpeed]
可选速度矢量
响应QRESPONSEQ?/strong>: I消?br />错误QF(tun)AULTSQ?/strong>Q?br />• env:Sender - ter:InvalidArgVal - ter:NoProfile
h的配|文件token内ProfileToken不存在?br />• env:Sender - ter:InvalidArgVal - ter:NoPTZProfile
h的配|文件token未引用PTZ配置?br />• env:Sender - ter:InvalidArgVal - ter:SpaceNotSupported
引用了PTZ节点不支持的I间?br />• env:Sender - ter:InvalidArgVal - ter:InvalidPosition
h的位|超Z界限?br />• env:Sender - ter:InvalidArgVal - ter:InvalidSpeed
h的速度出了界限?br />讉K权限c(ACCESS CLASSQ?/strong>Q?br />ACTUATE

5.3.2.    相对UdQRelativeMoveQ?br />

    如果PTZ节点支持相对水^/俯Ԓ或相对变焦移动,则需要支持相对移动(RelativeMoveQ操作。此操作的{换参数指定当前位|与要移动的位置的插倹{该操作可分Z个可选的水^/俯Ԓ元素和一个可选的变焦参数。如果水q?俯Ԓ忽略掉了Q那么当前的水^/俯Ԓ位置不会(x)受此命o(h)的媄(jing)响。变焦元素也同样?br />    转换元素中引用的I间应该为PTZ节点支持的{换空间。如果{换参数的I间信息忽略掉了Q那么将Ҏ(gu)PTZ配置的默认空间。设备需要支持相Ҏ(gu)q?俯ԒUdQ相对变焦移动或不支持相对运动?br />    在请求移动的命o(h)中携带的速度参数优先于PTZ配置中的默认速度。如果空间引用了速度参数Q则PTZ节点需要支持速度I间?br />    通过发送水q?俯Ԓ和变?值命令可以在当前位置停止PTZ单元。停止应h与引用相对空间完全相同的效果?br />    如果h转换后的l对位置是无法到辄Q那么PTZ节点需要移动最接近的有效位|?br />hQREQUESTQ?
• ProfileToken [tt:ReferenceToken]
对现有媒体配|文件的引用
• Translation [tt:PTZVector]
指定相对于当前位|的位置q移的向?br />• Speed – 可选[tt:PTZSpeed]
可选速度矢量
响应QRESPONSEQ?/strong>: I消?br />错误QF(tun)AULTSQ?/strong>Q?br />• env:Sender - ter:InvalidArgVal - ter:NoProfile
h的配|文件token内ProfileToken不存在?br />• env:Sender - ter:InvalidArgVal - ter:NoPTZProfile
h的配|文件token未引用PTZ配置?br />• env:Sender - ter:InvalidArgVal - ter:SpaceNotSupported
引用了PTZ节点不支持的I间?br />• env:Sender - ter:InvalidArgVal - ter:InvalidTranslation
h的{换超Z界限?br />• env:Sender - ter:InvalidArgVal - ter:InvalidSpeed
h的速度出了界限?br />讉K权限c(ACCESS CLASSQ?/strong>Q?br />ACTUATE

5.3.3.    q箋UdQContinuousMoveQ?br />

    hPTZ功能的设备应支持q箋Ud。此命o(h)的速度参数为水q?俯Ԓ和羃放指定的有符L(fng)速度倹{组合的水^/俯Ԓ元素?qing)变焦元素也是可选的。如果水q?俯Ԓ元素忽略掉了Q当前的水^/俯Ԓ元素则不受此命o(h)的媄(jing)响。变焦元素也是如此。引用有速度元素的空间的PTZ节点需要支持速度I间。如果速度参数忽略掉了I间信息Q那么采用相应的指定媒体文g的PTZ配置的默认空间。设备通过仅ؓ(f)支持的情冉|供速度I间来支持连l水q?俯ԒUd和连l变焦动作?br />    当前Ud操作的超时参C先于相应PTZ配置的默认超时参数。超时参数决定PTZ节点的连l移动的旉?br />    ?作ؓ(f)该u的连l移动参数时Q设备应停止在特定uQ水qI俯Ԓ或变焦)的移动。引用的速度I间也应有独立的停止功能。这个命令在q箋Ud的媄(jing)响与?.3.5节中的停止命令是一L(fng)?br />    h的速度得到的绝对位|是不能到达的,则PTZ节点应移动到最接近的能到达的位|。连l移动操作的典型应用是通过操纵杆控制PTZ?br />hQREQUESTQ?
• ProfileToken [tt:ReferenceToken]
对现有媒体配|文件的引用
• Velocity [tt:PTZSpeed]
速度矢量指定水^Q俯仰和变焦的速度?br />• Timeout– 可选[tt:duration]
可选超?br />响应QRESPONSEQ?/strong>: I消?br />错误QF(tun)AULTSQ?/strong>Q?br />• env:Sender - ter:InvalidArgVal - ter:NoProfile
h的配|文件token内ProfileToken不存在?br />• env:Sender - ter:InvalidArgVal - ter:NoPTZProfile
h的配|文件token未引用PTZ配置?br />• env:Sender - ter:InvalidArgVal - ter:SpaceNotSupported
引用了PTZ节点不支持的I间?br />• env:Sender - ter:InvalidArgVal - ter:InvalidTranslation
h的{换超Z界限?br />• env:Sender - ter:InvalidArgVal - ter:TimeoutNotSupported
指定的超时参C在支持的时旉范围内?br />• env:Sender - ter:InvalidArgVal - ter:InvalidSpeed
h的速度出了界限?br />讉K权限c(ACCESS CLASSQ?/strong>Q?br />ACTUATE

5.3.4.    地理UdQGeoMoveQ?br />

    讑֤有GeoMove信号Q则PTZ节点需要支持这cd令?br />    可选的AreaHeight和AreaWidth参数可以d到参CQ所以PTZ讑֤可以军_变焦因子。如果没有提供AreaHeight和AreaWidthQ该单元?yu)不会(x)更改变焦。AreaHeight和AreaWidth用米来表C?br />    h的{换过E中的速度参数优先于相应的PTZ配置的默认速度。如果引用的I间含有速度参数Q那么PTZ节点应支持速度I间?br />    如果PTZ讑֤不支持自动检索地理位|,那么在执行地理引用命令之前用SetGeoLocationq行讄。客L(fng)如果在设备设|地理位|之前发送GeoMove命o(h)Q设备应q回一个错误?br />    取决于PTZ讑֤的运动方式,h的位|可能无法到达。这U情况下讑֤应返回一个错误,表示׃物理限制无法执行h的操作?br />hQREQUESTQ?
• ProfileToken [tt:ReferenceToken]
对现有媒体配|文件的引用
• Target [tt:GeoLocation]
目标坐标?br />• Speed – 可选[tt:PTZSpeed]
指定水^Q俯仰和变焦的速度矢量?br />• AreaWidth – 可选[xs:float]
要显C的可选区域?br />• AreaHeight – 可选[xs:float]
要显C的可选区域?br />

响应QRESPONSEQ?/strong>: I消?br />错误QF(tun)AULTSQ?/strong>Q?br />• env:Sender - ter:InvalidArgVal - ter:NoProfile
h的配|文件token内ProfileToken不存在?br />• env:Sender - ter:InvalidArgVal - ter:NoPTZProfile
h的配|文件token未引用PTZ配置?br />• env:Sender - ter:InvalidArgVal - ter:GeoMoveNotSupported
讑֤不支持地理移动?br />• env:Sender - ter:InvalidArgVal - ter:UnreachablePosition
h的{换超Z界限?br />• env:Sender - ter:InvalidArgVal - ter:TimeoutNotSupported
指定的超时参C在支持的时旉范围内?br />• env:Sender - ter:InvalidArgVal - ter:GeoLocationUnknown
׃地理位置未配|或不可用,该单元无法执行GeoMove?br />讉K权限c(ACCESS CLASSQ?/strong>Q?br />ACTUATE

5.3.5.    停止QStopQ?br />

    PTZ讑֤需支持停止操作。如果没有指定停止的参数Q那么这个命令将停止所有正在进行的水^Q俯仰和变焦动作。通过指定相应的停止参数可以停止对应的操作?br />hQREQUESTQ?
• ProfileToken [tt:ReferenceToken]
对现有媒体配|文件的引用
• PanTilt – 可选[xs:boolean]
停止水^和俯仰操作(默认为trueQ?br />• Zoom – 可选[xs:boolean]
停止变焦操作Q默认ؓ(f)trueQ?br />响应QRESPONSEQ? I消?br />错误QF(tun)AULTSQ?/strong>Q?br />• env:Sender - ter:InvalidArgVal - ter:NoProfile
h的配|文件token内ProfileToken不存在?br />• env:Sender - ter:InvalidArgVal - ter:NoPTZProfile
h的配|文件token未引用PTZ配置?br />讉K权限c(ACCESS CLASSQ?/strong>Q?br />ACTUATE

5.3.6.    Udq开始跟t(MoveAndStartTrackingQ?br />

    讑֤PTZ节点有MoveAndTrack时应该支持这个命令。这个操作的目的是向讑֤发送一个自动命令:(x)Ud摄像机到惌的位|然后通过q踪法代理PTZ操作。用原子命令,延迟被最化。移动位|是可选的且可以按照三U模式进行设|:(x)
• 通过地理位置坐标
• 通过预置位token
• 通过PTZVector位置
    h位置Ud的的速度参数优先于相应的PTZ配置的默认速度。如果引用空间含有速度参数Q那么PTZ节点需支持速度I间?br />    如果在同一个设备中完成了侦察和q踪Q那么ObjectID引用可以作ؓ(f)参数Q以指定应跟t哪个对象?br />    h的绝对位|设备无法到达,则操作将p|?br />hQREQUESTQ?
• ProfileToken [tt:ReferenceToken]
对现有媒体配|文件的引用
• GeoLocation  – 可?[tt:GeoLocation]
可选目标坐标?br />• PresetToken – 可选[tt:ReferenceToken]
对一个存在的预置位token的可选应用?br />• TargetPosition – 可选[tt:PTZVector]
指定l对目标位置的可选向量?br />• Speed – 可选[tt:PTZSpeed]
可选速度矢量?br />• ObjectID – 可选[tt:ObjectID]
要跟t对象的可选Object ID?br />响应QRESPONSEQ?/strong>: I消?br />错误QF(tun)AULTSQ?/strong>Q?br />• env:Sender - ter:InvalidArgVal - ter:NoProfile
h的配|文件token内ProfileToken不存在?br />• env:Sender - ter:InvalidArgVal - ter:NoPTZProfile
h的配|文件token未引用PTZ配置?br />• env:Sender - ter:InvalidArgVal - ter:SpaceNotSupported
引用了PTZ节点不支持的I间?br />• env:Sender - ter:InvalidArgVal - ter:InvalidPosition
h的位|超Z界限?br />• env:Sender - ter:InvalidArgVal - ter:InvalidSpeed
h的速度出了界限?br />• env:Sender - ter:InvalidArgVal - ter:GeoMoveNotSupported
讑֤不支持地理移动?br />• env:Sender - ter:InvalidArgVal - ter:UnreachablePosition
h的{换超Z界限?br />• env:Sender - ter:InvalidArgVal - ter:GeoLocationUnknown
׃地理位置未配|或不可用,该单元无法执行GeoMove?br />• env:Sender - ter:InvalidArgVal - ter:NoToken
h的预|位token不存在?br />讉K权限c(ACCESS CLASSQ?/strong>Q?br />ACTUATE

5.3.7.    状态获取(GetStatusQ?br />

PTZ讑֤需支持通过GetStatus命o(h)报告PTZ状态。PTZ状态包含以下信息:(x)
• 位置Position (可? – 引用I间指定云台单元的绝对位|。相应PTZ配置的默认绝对空间应在位|元素中引用。如果设备有StatusPosition能力Q则需要显C此信息?br />• Ud状态MoveStatus(可? – 表示水^/俯Ԓ/变焦讑֤单元当前是否正在Ud、空闲或处于位置状态。如果设备有MoveStatus能力Q则需要显C此信息。未知状态不应在正常错误中用,但是在初始化或错误状况下使用?br />• 错误Error (可? – 表示当前PTZ错误状态。MoveStatus未知状态时Q显C个字Dc(din)?br />• 国际标准旉 UTC Time – 指定生成状态时的UTC旉?br />hQREQUESTQ?/strong>:
• ProfileToken [tt:ReferenceToken]
对现有媒体配|文件的引用
响应QRESPONSEQ?/strong>: I消?br />• PTZStatus[tt:PTZStatus]
h媒体文g的PTZStatus?br />错误QF(tun)AULTSQ?/strong>Q?br />• env:Sender - ter:InvalidArgVal - ter:NoProfile
h的配|文件token内ProfileToken不存在?br />• env:Sender - ter:InvalidArgVal - ter:NoPTZProfile
h的配|文件token未引用PTZ配置?br />• env:Receiver – ter:Action - ter:NoStatus
h的媒体配|文件中没有可用的PTZ状态?br />讉K权限c(ACCESS CLASSQ?/strong>Q?br />    READ_MEDIA



canaan 2021-06-19 20:38 发表评论
]]>
ONVIF协议云台服务规范 (? ONVIF PTZ Service Specificationhttp://www.shnenglu.com/chinapeter2008/archive/2021/06/17/217716.htmlcanaancanaanThu, 17 Jun 2021 08:34:00 GMThttp://www.shnenglu.com/chinapeter2008/archive/2021/06/17/217716.htmlhttp://www.shnenglu.com/chinapeter2008/comments/217716.htmlhttp://www.shnenglu.com/chinapeter2008/archive/2021/06/17/217716.html#Feedback0http://www.shnenglu.com/chinapeter2008/comments/commentRss/217716.htmlhttp://www.shnenglu.com/chinapeter2008/services/trackbacks/217716.html阅读全文

canaan 2021-06-17 16:34 发表评论
]]>
ONVIF协议云台服务规范(一) ONVIF PTZ Service Specificationhttp://www.shnenglu.com/chinapeter2008/archive/2021/06/16/217715.htmlcanaancanaanWed, 16 Jun 2021 13:59:00 GMThttp://www.shnenglu.com/chinapeter2008/archive/2021/06/16/217715.htmlhttp://www.shnenglu.com/chinapeter2008/comments/217715.htmlhttp://www.shnenglu.com/chinapeter2008/archive/2021/06/16/217715.html#Feedback0http://www.shnenglu.com/chinapeter2008/comments/commentRss/217715.htmlhttp://www.shnenglu.com/chinapeter2008/services/trackbacks/217715.html阅读全文

canaan 2021-06-16 21:59 发表评论
]]>
标准模板?STL)?《随问容?Random Access ContainerQ?/title><link>http://www.shnenglu.com/chinapeter2008/archive/2012/03/31/169644.html</link><dc:creator>canaan</dc:creator><author>canaan</author><pubDate>Sat, 31 Mar 2012 05:52:00 GMT</pubDate><guid>http://www.shnenglu.com/chinapeter2008/archive/2012/03/31/169644.html</guid><wfw:comment>http://www.shnenglu.com/chinapeter2008/comments/169644.html</wfw:comment><comments>http://www.shnenglu.com/chinapeter2008/archive/2012/03/31/169644.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/chinapeter2008/comments/commentRss/169644.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/chinapeter2008/services/trackbacks/169644.html</trackback:ping><description><![CDATA[<div><strong style="font-size: 14pt;">随机讉K容器</strong><br style="font-size: 14pt;" /><br /><strong><span style="font-size: 12pt;">容器</span></strong><br />cȝQ容?br /><br /><strong style="font-size: 12pt;">描述</strong><br style="font-size: 12pt;" />随机讉K容器是一个P代器cd为随问P代器?a target="_blank" href="http://www.shnenglu.com/chinapeter2008/archive/2012/03/21/168512.html">可逆容?/a>。它提供帔R~冲旉来访问随机元素?br /><br /><strong style="font-size: 12pt;">改善?/strong><br style="font-size: 12pt;" /><br /><a target="_blank" href="http://www.shnenglu.com/chinapeter2008/archive/2012/03/21/168512.html">可逆容?/a><br /><br /><strong><span style="font-size: 12pt;">相关cd</span></strong><br /><br />除了定义?a target="_blank" href="http://www.shnenglu.com/chinapeter2008/archive/2012/03/21/168512.html">可逆容?/a>中的cdQ没有其他额外类型。尽这个P代器cd的需求加ZQ必L随机讉Kq代器?br /><br /><strong style="font-size: 12pt;">标记?/strong><br style="font-size: 12pt;" /><br />X 随机讉K容器模型cd<br />a,b Xcd对象<br />T Xcd的?br /><br /><strong style="font-size: 12pt;">定义</strong><br style="font-size: 12pt;" /><br /><strong>有效表达?/strong><br /><br />除了定义?a target="_blank" href="http://www.shnenglu.com/chinapeter2008/archive/2012/03/21/168512.html">可逆容?/a>中的表达式外Q下面的表达式也必须有效?br />名称                         表达?nbsp;   cd需?nbsp;                               q回cd<br />Element accessQ访问元素)   a[n]      n可以转换成size_type                    如果可变Q那么是引用Q否则ؓ(f)帔R引用<br /><br /><strong>表达式语?/strong><br /><br />一个表辑ּ的语义只在这个情况下定义Q当他在<a target="_blank" href="http://www.shnenglu.com/chinapeter2008/archive/2012/03/21/168512.html">可逆容?/a>中没有定义,或者有额外的信息?br />名称                         表达?nbsp; 前提              语义                   后置<br />Element access(讉K元素)     a[n]    0<=n<a.size()     q回容器的第n个元?br /><br /><strong style="font-size: 12pt;">复杂度保?/strong><br style="font-size: 12pt;" /><br />讉K元素的运行时复杂度ؓ(f)~冲帔R旉?br /><br /><strong style="font-size: 12pt;">不变?/strong><br style="font-size: 12pt;" /><br />Element access(讉K元素) a[n]q回的元素与增加a.begin()nơ得到的l果q代器解引用是一L(fng)?br /><br /><strong style="font-size: 12pt;">模型</strong><br style="font-size: 12pt;" /><br />vector<br />deque<br /><br /><strong style="font-size: 12pt;">注释</strong><br style="font-size: 12pt;" /><br /><strong style="font-size: 12pt;">参见</strong><br style="font-size: 12pt;" /><br />Iterator overview,随机讉Kq代?Sequence<br /></div><img src ="http://www.shnenglu.com/chinapeter2008/aggbug/169644.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/chinapeter2008/" target="_blank">canaan</a> 2012-03-31 13:52 <a href="http://www.shnenglu.com/chinapeter2008/archive/2012/03/31/169644.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>标准模板?STL)?《可逆容?Reversible Container)?/title><link>http://www.shnenglu.com/chinapeter2008/archive/2012/03/21/168512.html</link><dc:creator>canaan</dc:creator><author>canaan</author><pubDate>Wed, 21 Mar 2012 08:07:00 GMT</pubDate><guid>http://www.shnenglu.com/chinapeter2008/archive/2012/03/21/168512.html</guid><wfw:comment>http://www.shnenglu.com/chinapeter2008/comments/168512.html</wfw:comment><comments>http://www.shnenglu.com/chinapeter2008/archive/2012/03/21/168512.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.shnenglu.com/chinapeter2008/comments/commentRss/168512.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/chinapeter2008/services/trackbacks/168512.html</trackback:ping><description><![CDATA[<div><strong>可逆容?Reversible Container)</strong><br /><strong><br />cȝQ容?/strong><br /><br /><strong>描述</strong><br /><br />可逆容器是一个有双向q代器的前向容器。它可以向后向后q代通过容器?br /><br /><strong>改善?/strong><br /><br /><a target="_blank" href="http://www.shnenglu.com/chinapeter2008/archive/2012/03/19/168310.html">Forward Container</a><br /><br /><strong>相关cd</strong><br /><br />介绍了两个新的类型。此外,q代器类型和帔Rq代器类型必Lx前向容器(<a target="_blank" href="http://www.shnenglu.com/chinapeter2008/archive/2012/03/19/168310.html">Forward Container</a>)更严格的要求。P代器cd和反向P代器cd必须是双向P代器(Bidirectional Iterators)Q而不仅仅是前向P代器(<a target="_blank" href="http://www.shnenglu.com/chinapeter2008/archive/2012/03/19/168310.html">ForWard Iterators</a>)?br /><br />反向q代器类?Reverse iterator type)            X::reverse_iterator    一个反向P代器适配器的P代器cd是容器的q代器类型。递增反向q代?rever_iterator)cd对象向后Ud通过容器QReverse Iterator适配器映了++操作W和--操作W?br />帔R反向q代器类?Const reverse iterator type)  X::const_reverse_iterator  一个反向P代器适配器的P代器是容器的帔Rq代器类型。[1]<br /><br /><strong>标记?/strong><br /><br />X    反向容器模式cd<br />a,b  cdX对象<br /><br /><strong>定义</strong><br /><br /><strong>有效表达?/strong><br /><br />除了前向容器(<a target="_blank" href="http://www.shnenglu.com/chinapeter2008/archive/2012/03/19/168310.html">Forward Container</a>)中的表达式外Q下面的表达式也必须有效<br />名称                      表达?nbsp;    cd要求   q回cd<br />范围起始Beginning of range a.rbegin()           如果a是可变的Q那么是reverse_iterator,否则为const_reverse_iterator[1]<br />范围l束End of range       a.rend()             如果a是可变的Q那么是reverse_iteratorQ否则ؓ(f)const_reverse_iterator[1]<br /><br /><strong>表达式语?/strong><br /><br />一个表辑ּ的语义只有在q种情况下定义,当它没有在前向容?<a target="_blank" href="http://www.shnenglu.com/chinapeter2008/archive/2012/03/19/168310.html">Forward Container</a>)中定义,或者有额外的信息?br />名称                      表达?前提     语义                                后置<br />逆向范围起始Beginning of range a.rbegin()    相当于X::reverse_iterator(a.end())?a.rbegin()是提领或者是past-the-end。当a.size() == 0是,它ؓ(f)past-the-end?br />逆向范围l束End of reverse range a.rend()    相当于X::reverse_iterator(a.begin())?a.rend()是past-the-end?br /><br /><strong>复杂性保?/strong><br /><br />rbegin()和rend()q行时复杂性是摊销旉为常数?br /><br /><strong>不变因素</strong><br /><br />有效范围          [a.rbegin(), a.rend())是一个有效范围?br />{待范围          a.begin()到a.end()之间的距da.rbegin()到a.rend()之间的距L一L(fng)?br /><br /><strong>模型</strong><br /><br />vector<br />list<br />deque<br /><br /><strong>注释</strong><br /><br />[1]一个容器的q代器类型和帔Rq代器类型有可能是相同的cdQ一个容器不需要提供可变的q代器。因此反向P代器cd和常量反向P代器cd也可能是相同的?br /><br />参见<br /><br />Iterator overview, Bidirectional Iterator, Sequence<br /><br />           <br /></div><img src ="http://www.shnenglu.com/chinapeter2008/aggbug/168512.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/chinapeter2008/" target="_blank">canaan</a> 2012-03-21 16:07 <a href="http://www.shnenglu.com/chinapeter2008/archive/2012/03/21/168512.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>标准模板?STL)?《前向容?Forward Container)?/title><link>http://www.shnenglu.com/chinapeter2008/archive/2012/03/19/168310.html</link><dc:creator>canaan</dc:creator><author>canaan</author><pubDate>Mon, 19 Mar 2012 04:10:00 GMT</pubDate><guid>http://www.shnenglu.com/chinapeter2008/archive/2012/03/19/168310.html</guid><wfw:comment>http://www.shnenglu.com/chinapeter2008/comments/168310.html</wfw:comment><comments>http://www.shnenglu.com/chinapeter2008/archive/2012/03/19/168310.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/chinapeter2008/comments/commentRss/168310.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/chinapeter2008/services/trackbacks/168310.html</trackback:ping><description><![CDATA[<div><strong>前向容器(Forward Container)</strong><br /><br /><strong>容器</strong><br />cȝQ容?br /><br /><strong>描述</strong><br /><br />前向容器中的元素是按一定的序排序的:(x)q个序不会(x)因ؓ(f)q代而自动改变。一定的序要求允许定义相等的元素(如果容器中的元素是可以比较相{的Equality ComparableQ和字典序(如果容器中的元素cd是可以比较小于的 LessThen ComparableQ?br /><br />前向容器中的q代器满_向P代器的要求:(x)因此Q前向容器支持多通道法Qƈ允许同一个容器可以同时拥有多个激zȝq代器?br /><br /><strong>完善(Refinement of)</strong><br /><br />Container,EqualityComparable,LessThanComparable<br /><br /><strong>相关cd</strong><br /><br />除了容器d义的Q没有其他额外的cd。然而,q代器类型的要求加强QP代器cd必须是前向P代器模式?br /><br /><strong>标记?/strong><br /><br />X 是一个前向容器模式的cd<br />a,b cdX的对?br />T cdX的?br /><br /><strong>定义</strong><br /><br /><strong>有效表达?/strong><br /><br />除了容器中定义的表达式外,EqualityComparable,和LessThanComparableQ下面的表达式必L有效的?br />名字                        表达?nbsp;       cd要求                q回cd<br />{式(Equality)              a == b        T是EqualityComparable   可{换成bool<br />不等?Inequality)          a != b        T是EqualityComparable   可{换成bool<br />于(Less)                  a < b         T是LessThanComparable   可{换成bool<br />大于(Greater)               a > b         T是LessThanComparable   可{换成bool<br />于或等?Less or equal)   a <= b        T是LessThanComparable   可{换成bool<br />大于或等?Greater or equal)a >= b        T是LessThanComparable   可{换成bool<br /><br /><strong>表达式语?/strong><br /><br />一个表辑ּ的语义只有在q种情况下定义,当它没有定义在Container, EqualityComparable, 或者LessThanComparableQ或者有额外的信息?br />名字                 表达?nbsp;        前提  语义                                                                         后置<br />{式(Equality)       a == b               如果a.size() == b.size()而且a中的每个元素都等于b中的对应的元素,那么q回true。否则返回false?br />于(Less)           a < b                相当于lexicographical_compare(a,b)<br /><br /><strong>复杂性担?/strong><br /><br />{式和不{式的操作与容器的大呈U性关pR?br /><br /><strong>不变</strong><br /><br />序 两个不同的P代器q代一个前向容器的Q都是以同样的顺序访问它的元素,提供一个没有干预性的操作?br /><br /><strong>模型</strong><br /><br />vector<br />list<br />slist<br />deque<br />set<br />hash_set<br />map<br />hash_map<br />multiset<br />hash_multiset<br />multimap<br />hash_multimap<br /><br /><strong>注释</strong><br /><br /><strong>参见</strong><br /><br />iterator overview, Forward Iterator, Sequence<br /></div><img src ="http://www.shnenglu.com/chinapeter2008/aggbug/168310.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/chinapeter2008/" target="_blank">canaan</a> 2012-03-19 12:10 <a href="http://www.shnenglu.com/chinapeter2008/archive/2012/03/19/168310.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>标准模板?STL)一 《容器?/title><link>http://www.shnenglu.com/chinapeter2008/archive/2012/03/13/167769.html</link><dc:creator>canaan</dc:creator><author>canaan</author><pubDate>Tue, 13 Mar 2012 05:20:00 GMT</pubDate><guid>http://www.shnenglu.com/chinapeter2008/archive/2012/03/13/167769.html</guid><wfw:comment>http://www.shnenglu.com/chinapeter2008/comments/167769.html</wfw:comment><comments>http://www.shnenglu.com/chinapeter2008/archive/2012/03/13/167769.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/chinapeter2008/comments/commentRss/167769.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/chinapeter2008/services/trackbacks/167769.html</trackback:ping><description><![CDATA[<div><h1><strong>容器</strong></h1><br />cȝQ容?br /><br /><h3>描述</h3><br />容器是一个可以存储对象(它的元素Q,q具有访问其元素的方法的一个对象。特别是Q每一个容器模式类型都有一个关联的q代器类型来遍历容器中的元素?br /><br />不能保证容器中的元素按特定的方式来存储;事实上,不同的是每次q代器是如何通过容器的。也不能保证容器的多个P代器是一直有效的。(特定的容器类型,像前向容器是提供q样的保证的。)<br /><br />容器“拥有”它的元素Q存储在一个容器中的元素的寿命不能过容器本n。[1]<br /><br /><h3>完善</h3><br />Assignable<br /><br /><h3>相关cd</h3>(Value type)值类?nbsp; X::value_type  存储在容器中的对象类型。值类型必LAssignableQ但不必是DefaultConstructible.[2]<br />(Iterator type)q代器类?X::iterator  q代器类型用来遍历容器的元素。P代器的值类型就是容器的值类型。必d以从iterator type转换成const iterator type。P代器的类型必L一个输入P代器。[3]<br />(Const iterator type)帔Rq代器类?X::const_iterator 是一个可以查看但不能修改容器中元素的q代器类型。[3][4]<br />(Reference type)引用cd X::reference 是一个行为像容器值类型引用的cd。[5]<br />(Const reference type)帔R引用cd X::const_reference 是一个行为像容器值类型常量引用的cd。[5]<br />(Pointer type)指针cd X::pointer 是一个行为像容器值类型指针的cd。[6]<br />(Distance type)距离cd X::distance_type  一个有W号整数cd来表CZ个容器P代器之间的距R此cd必须跟P代器之间的距ȝ型是一L(fng)。[2]<br />(Size type)大小cd X::size_type 一个无W号整数cd来表CZQ何非负值的容器距离cd。[2]<br /><br /><h3>标记?/h3><br />X    容器模式对象<br />a,b  Xcd对象<br />T    Xcd的?br /><br /><h3>定义</h3><br />容器?size)大小是它所包含的元素个敎ͼ它是一个非负数?br /><br />容器?area)面积是它占用的字节数。更切地说Q它是元素的面积的d加上与容器本w相关的M开销。如果容器的值类型T是一个简单的cdQ而不是一个容器类型)Q那么这个容器的面积是sizeof(T)的常数倍。也是_(d)一个简单值类型的容器a的面U是O(a.size())?br /><br />一?variable sized)可变大小的容器提供插入和/或移除元素的Ҏ(gu)Q容器大可能会(x)变化。一?fixed size)固定大小的容器,它的大小在它的生命周期内是一只不变的。一些固定大的容器cdQ大在~译时确定?br /><br /><h3>有效表达?/h3><br />除了Assignable,EqualityComparable,和LessThanComparableq些已经定义的表辑ּQ下面的表达式也必须是有效的?br /><br /><strong>名称      表达?nbsp;        cd要求    q回cd</strong><br />范围起始  a.begin()                  如果是可变的Q返回gؓ(f)iterator(q代?Q否则ؓ(f)const_iterator[4][7]<br />范围l束  a.end()                    如果是可变的Q返回gؓ(f)iterator(q代?Q否则ؓ(f)const_iterator[4]<br />大小      a.size()                   size_type<br />最大容?nbsp; a.max_size()               size_type<br />I容?nbsp;   a.empty()                  可{换成boolcd<br />交换      a.swap(b)                  void<br /><br /><h3>表达式语?/h3><br /><strong>名称          表达?nbsp;      前提    语义                                                         后置</strong><br />拯构造函?nbsp; X(a)                                                                              X().size() == a.size()。X()包含了a中所有元素的副本?br />拯构造函?nbsp; X b(a)                                                                            b().size() == a.size()。b包含了a中所有元素的副本?br />赋D符    b = a                                                                             b().size() == a.size()。b包含了a中所有元素的副本?br />析构函数      a.~X()               销毁a中所有的元素Qƈ释放为它们分配的内存Q如果有的话Q?br />范围起始      a.begin()            q回一个指向容器第一个元素的q代?iterator)。[7]            a.begin()要么是提领要么是past-the-end。仅仅当a.size == 0的时候它才是past-the-end?br />范围l束      a.end()              q回一个指向容器的最后一个元素的后面的P代器(iterator)?nbsp;    a.end ?past-the-end?br />大小          a.size()             q回容器的大,也就是元素的个数。[8]                        a.size() >= 0 && a.size <= a.max_size()<br />最大容?nbsp;     a.max_size()         q回容器的最大容量。[8]                                      a.max_size() >= 0 && a.max_size >= a.size()<br />I容?nbsp;       a.empty()            相当?a.size() == 0 Q但是可能更快)                        <br />交换          a.swap(b)            相当于swap(a,b)[9]<br /><br />复杂性担?br /><br />拯构造函敎ͼ复制操作W,析构函数跟容器大呈U性关pR?br /><br />begin()和end()的摊销旉为常数?br /><br />size()跟容器大呈U性关pR[10] max_size()和empty()的摊销旉为常数。如果你要测试一个容器是否ؓ(f)I,你应该L写c.empty而不是c.size() == 0。这两个表达式是{h(hun)的,但前者可能要快得多?br /><br />swap()的摊销旉为常数。[9]<br /><br /><h3>不变?/h3><br />有效范围     M容器aQ?[a.begin(), a.end())是一个有效范围。[11]<br />范围大小     a.size(){于从a.begin()到a.end()的距R?br />完整?nbsp;      一个P代算法[a.begin(), a.end())Q将?x)遍历a中的每个元素。[11]<br /><br /><h3>模型</h3><br />vector<br /><br /><h3>注释</h3><br />[1]元素的寿命不能超q其容器可能看v来像一个严重的限制Q事实上Q它q不是限制。请注意指针和P代器都是对象Q就像Q何其他对象一P他们可以被存储在一个容器内。在q种情况下,容器拥有指针本nQ而不是它们指向的对象?br /><br />[2]q种表达式必L一个typedefQ这是一个类型的代名词?br /><br />[3]q可能是一个typedef或者其他类型,或者一个定义嵌套类作ؓ(f)一个内部类的X的特定的cd?br /><br />[4]容器的iteratorcd和const iteratorcd可能是一L(fng)Q不能保证每个容器必L一个相关的可变q代器类型。例如,set和hash_set定义iterator和const iterator为同一cd?br /><br />[5]引用cd需要与普通C++引用cd有相同的语义Q但它实际上q不是普通的C++引用。例如,在某些实CQ可能会(x)提供额外的引用类型来支持非标准的内存模型。但是请注意Q?#8220;引用”Q用户定义的引用cd提供额外的功能)不是一个可行的选择。用户定义的cd不可能与C++引用cdh相同语义Q因为C++语言不支持重新定义的成员讉Kq算W?operator.)?br /><br />[6]跟[5]中的引用cd一P指针cd需要与C++指针有相同的语义Q但实际q不是C++指针?#8220;指针”不同?#8220;引用”是有可能的。因为可以ؓ(f)用户定义cd来定义的引用操作W和指针成员讉Kq算W可以访问运符*?>?br /><br />[7]q代器类?iterator type)必须是一个输入P代器(input iterator)Q它只提供了一个非常薄q担保Q特别是Q输入P代算法必都?#8220;单通道”。容器只有一个简单的q代?iterator)可以随时ȀzRForward Container(前向容器)没有q个限制?br /><br />[8]一个固定大的容器Qsize() == max_size()?br /><br />[9]对于MAssignablecdQswap可以定义分配条款。这需要三个Q务,每一个容器类型,容器的大呈U性关pR然而,在某U意义上Qa.swap(b)是多余的。它的存在仅仅ؓ(f)了提高效率:(x)许多容器Q如vector和listQ它实现swap的时间复杂度是不变的Q而不是线性的。一些容器类型XQ那么它们的模板化swap(X&,X&)可以单地写在X::swap(X&)。也是说X::swap(X&)只能定义在执行时间是帔R的情况下。不是所有的容器cX都需要这L(fng)一个成员函敎ͼ但是如果q样的函数存在,那么必须保证摊销旉为常量?br /><br />[10]对于许多容器Q如vector和dequeQsize是O(1).q满了O(N)的要求?br /><br />[11]虽然[a.begin(), a.end())必须是一个有效的范围Q而且每个元素必须都包含在容器内,但是在这个范围内出现的顺序是不确定的。如果你两次遍历一个容器,它不能保证这两次的遍历顺序是相同的。Forward Container前向容器没有q个限制?br /><br /><h3>参见</h3><br />q代器概qͼ输入q代器,序列<br /></div><img src ="http://www.shnenglu.com/chinapeter2008/aggbug/167769.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/chinapeter2008/" target="_blank">canaan</a> 2012-03-13 13:20 <a href="http://www.shnenglu.com/chinapeter2008/archive/2012/03/13/167769.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>标准模板?目录?函数对象、Utilities、内存分?/title><link>http://www.shnenglu.com/chinapeter2008/archive/2012/03/12/167718.html</link><dc:creator>canaan</dc:creator><author>canaan</author><pubDate>Mon, 12 Mar 2012 07:27:00 GMT</pubDate><guid>http://www.shnenglu.com/chinapeter2008/archive/2012/03/12/167718.html</guid><wfw:comment>http://www.shnenglu.com/chinapeter2008/comments/167718.html</wfw:comment><comments>http://www.shnenglu.com/chinapeter2008/archive/2012/03/12/167718.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/chinapeter2008/comments/commentRss/167718.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/chinapeter2008/services/trackbacks/167718.html</trackback:ping><description><![CDATA[<div>6、函数对?br />    1、简?br />    2、概?br />         1、generator(不需要参数的函数)<br />         2、一元函?br />         3、二元函?br />     4、Adaptable Generator(可适应的不需要参数的函数)<br />     5、一元可适应函数<br />     6、二元可适应函数<br />     7、谓?br />          1、谓?br />          2、二元谓?br />          3、可适应谓词<br />          4、二元可适应谓词<br />          5、StrictWeakOrdering<br />     8、Monoid曚w<br />     9、随机数生成?br />    3、预定义函数对象<br />         1、算术运?br />          1、加?br />              2、减?br />          3、乘法(原名“?#8221;Q?br />          4、除?br />          5、取模运?br />          6、否?br />     2、比较算?br />          1、equal_to<br />          2、not_equal_to<br />          3、less<br />          4、greater<br />          5、less_equal<br />          6、greater_equal<br />     3、逻辑操作<br />          1、logical_and(逻辑?<br />          2、logical_or(逻辑?<br />          3、logical_not(逻辑?<br />     4、广义n份认证操?br />          1、identity<br />          2、project1st<br />          3、project2nd<br />          4、select1st<br />          5、select2nd<br />     5、subtractive_rng<br />    4、函数对象适配?br />         1、binder1st<br />     2、binder2nd<br />     3、ptr_fun<br />     4、pointer_to_unary_function<br />     5、pointer_to_binary_function<br />     6、unary_negate<br />     7、binary_negate<br />     8、unary_compose<br />     9、binary_compose<br />     10、成员函数适配?br />          1、mem_fun<br />          2、mem_fun_ref<br />          3、mem_fun1<br />          4、mem_fun1_ref<br />7、Utilities<br />    1、概?br />    1、Assignable<br />    2、Default Constructible<br />    3、Equality Comparable<br />    4、LessThan Comparable<br />    2、函?br />        1、关pL作符<br />    3、类<br />        1、pair<br />8、内存分?br />    1、类<br />        1、分配器<br />    2、raw_storage_iterator<br />    2、函?br />        1、construct<br />    2、destroy<br />    3、uninitialized_copy<br />    4、uninitialized_copy_n<br />    5、uninitialized_fill<br />    6、uninitialized_fill_n<br />    7、temporary_buffer<br />    8、get_temporary_buffer<br />    9、return_temporary_buffer<br />9、设计文?br />    1、线E安?br />    2、复杂规格的意义<br />    3、字W串的表C?br />10、分cȝ?br />11、全文烦?br /></div><img src ="http://www.shnenglu.com/chinapeter2008/aggbug/167718.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/chinapeter2008/" target="_blank">canaan</a> 2012-03-12 15:27 <a href="http://www.shnenglu.com/chinapeter2008/archive/2012/03/12/167718.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>标准模板?目录? q代器和法http://www.shnenglu.com/chinapeter2008/archive/2012/03/09/167465.htmlcanaancanaanFri, 09 Mar 2012 01:41:00 GMThttp://www.shnenglu.com/chinapeter2008/archive/2012/03/09/167465.htmlhttp://www.shnenglu.com/chinapeter2008/comments/167465.htmlhttp://www.shnenglu.com/chinapeter2008/archive/2012/03/09/167465.html#Feedback0http://www.shnenglu.com/chinapeter2008/comments/commentRss/167465.htmlhttp://www.shnenglu.com/chinapeter2008/services/trackbacks/167465.html4、P代器
   1、简?br />   2、概?br />        1、普通P代器
        2、输入P代器
        3、输P代器
        4、前向P代器
        5、双向P代器
        6、随问P?
    3、P代器标签
        1、简?br />        2、iterator_traits
        3、iterator_category
        4、distance_type
        5、value_type
        6、P代器标签c?br />              1、input_iterator_tag
              2、output_iterator_tag
              3、forward_iterator_tag
              4、bidirectional_iterator_tag
              5、random_access_iterator_tag
        7、P代器基础c?br />              1、input_iterator
              2、output_iterator
              3、forward_iterator
              4、bidirectional_iterator
              5、random_access_iterator
    4、P代函?br />         1、distance
         2、advance
    5、P代器c?br />         1、istream_iterator
         2、ostream_iterator
         3、front_insert_iterator
         4、back_insert_iterator
         5、insert_iterator
         6、reverse_iterator
         7、reverse_bidirectional_iterator
         8、raw_storage_iterator
         9、sequence_buffer
5、算?br />    1、不?x)改变内容的?br />         1、for_each
         2、find
         3、find_if
         4、adjacent_find
         5、find_fist_of
         6、count
         7、count_if
         8、mismatch
         9、equal
        10、search
        11、search_if
        12、find_end
    2、会(x)改变内容的算?br />         1、copy
         2、copy_n
         3、copy_backward
         4、交?br />              1、swap
              2、iter_swap
              3、swap_ranges
         5、transform
         6、替?br />              1、replace
              2、replace_if
              3、replace_copy
              4、replace_copy_if
         7、fill
         8、fill_n
         9、generate
        10、generate_n
        11、移?br />               1、remove
               2、remove_if
               3、remove_copy
               4、remove_copy_if
        12、unique
    13、unique_copy
    14、reverse
    15、reverse_copy
    16、rotate
    17、rotate_copy
    18、random_shuffle
    19、random_sample
    20、random_sample_n
    21、partition
    22、stable_partition
    3、排?br />         1、排?br />          1、sort
          2、stable_sort
          3、partial_sort
          4、partial_sort_copy
          5、is_sorted
     2、nth_element
     3、二q制搜烦
          1、lower_bound
          2、upper_bound
          3、equal_range
          4、binary_search
     4、merge
     5、inplace_merge
     6、排序范围内讄操作
          1、includes
          2、set_union
          3、set_intersection
          4、set_difference
          5、set_symmetric_difference
     7、堆操作
          1、push_heap
          2、pop_heap
          3、make_heap
          4、sort_heap
          5、is_heap
     8、最大值和最?br />          1、min
          2、max
          3、min_element
          4、max_element
     9、lexicographical_compare
    10、lexicographical_compare_3way
    11、next_permutation
    12、prev_permutation
    4、广义数值算?br />         1、iota
     2、accumulate
     3、inner_product
     4、partial_sum
     5、adjacent_difference
     7、power

下一??a id="viewpost1_TitleUrl" href="../archive/2012/03/12/167718.html">标准模板?目录?函数对象、Utilities、内存分?/a>?br />        

canaan 2012-03-09 09:41 发表评论
]]>
Z么你L认ؓ(f)你的产品不够? QWhy you'll always think your product is shitQ?/title><link>http://www.shnenglu.com/chinapeter2008/archive/2012/03/08/167374.html</link><dc:creator>canaan</dc:creator><author>canaan</author><pubDate>Thu, 08 Mar 2012 03:26:00 GMT</pubDate><guid>http://www.shnenglu.com/chinapeter2008/archive/2012/03/08/167374.html</guid><wfw:comment>http://www.shnenglu.com/chinapeter2008/comments/167374.html</wfw:comment><comments>http://www.shnenglu.com/chinapeter2008/archive/2012/03/08/167374.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.shnenglu.com/chinapeter2008/comments/commentRss/167374.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/chinapeter2008/services/trackbacks/167374.html</trackback:ping><description><![CDATA[<div><br /> <br /> <div align="center"><strong>Z么你L认ؓ(f)你的产品不够?br /> Why you'll always think your product is shit<br /> <br /> <br /> <br /> </strong></div> <img alt="" src="http://www.shnenglu.com/images/cppblog_com/chinapeter2008/p1.jpg" border="0" /><br /> <br /> “<strong>我的产品q没有准备好?/strong>”你说q之前。我们都曄说过?br /> <br /> 每个人在发布他们W一个品的时候都?x)觉得他们的产品q没有完全准备好。或者甚x已经发布在用的Q也没有惌中的那么完美Q因为如果你只是做一点点Q他׃(x)变的更好一炏V在正常情况下,q会(x)D潜在很大的改善\U图Q在一个不正常的情况下Q它?x)导致这个品无休止的P代,始终得不到结果?br /> <br /> 大约在一q前Q我拜访了Pixar的办公室了解到有x产品的一点,我想和大家分享下面的q个故事:(x)<br /> <br /> <strong>Over at Pixar</strong>...<br /> Matt Silas(@matty8r),Pixar的长期雇员带我参观了他们的办公室Q我也接受了他的盛情Ƒ־。从Palo Alto出发l过长达一时的RE终于到了EmeryvilleQMatt向我展示了整个个ȝ上的奥斯卡奖Q然后开始全面的参观。我们有拍很多照片,所以这里好的像是:(x)VentureBeat,Urbanpeak?br /> <br /> 我一直是Pixar的粉?-不仅仅是他们的品,q有他们的历史和文化。关于Pixar和他们创造电(sh)qq程是多么的qhQ还有很多话要讲Q我推荐一本书Q《To Infinity and Beyond》。它让我知道了在他们的电(sh)׃使用了一些非常的合作和P代的Ҏ(gu)Q毕竟,做的比较多的q是软g。这里有一些简单的例子Q?br /> <br /> Pixar的团队是由有创意的h才和软g工程师组成的。这是反映在他们的高层,John Lasseter和Ed Catmull?br /> <br /> Pixar?sh)?jing)的过E是从一个故事开始的--然后故事情节--然后用一些方法来形成最后的蓝图?br /> <br /> 他们每天在构Z们的“?sh)?jing)”Q让他们知道他们的立场,在需要的地方用上素描和蹩脚的CGI--跟传l电(sh)׃同的是在它的最后?br /> <br /> 有时候,他们?#8220;玩具d?#8221;的原始版本,他们必须停止他们正在做的事情Q然后重新开始这个电(sh)影制作过E直到所有事情确定下?-听v来很熟?zhn)Q有木有Q?br /> <br /> 其他有关高科技世界的是Steve Jobs亲自监督他们的办公室I间的设计。《超人》导演Brad Bird对于q个有专业的说法Q?br /> <br /> “q是我们的徏{。这中间Q他造了一个大的中庭区Q最初似乎觉得这是在费I间。原因就是大家来之后都在各自的办公室I间工作。Y件工E师在这里,dȝ在这里,q有那边是做设计的。Steve 把信,?x)议室,食堂Q最的最想不到的是ʎ室,居然在最中间--当初让我们觉得很疯狂--每个人的一天都可以在这里完成。Jobs意识到当Z在于其他人眼接触时Q事情就?x)发生了。所以他惛_法不让他们接触到其他公司?#8221;<br /> <br /> 无论如何Q我听到很多q样的故?-像预期的一Pq次参观是难以忘记的Q最后,我们停在PixarC品店?br /> 在那里,我问Matt一个休闲的问题Q一q之后,我还清楚的记得:(x)<br /> <br /> 我说Q?#8220;Pixar?sh)?jing)中你最喜欢哪一部?”<br /> Matt:  *Ҏ(gu)*<br /> 我笑着_(d)(x) “Z么叹气?”<br /> Matt:  “q是一个很手的问题,因ؓ(f)他们都是很好的。但是同Ӟ因ؓ(f)你在q里工作Q你׃那么长的旉在上面,你很难会(x)ȝ它。你知道你所作的所有的决定和所有采取的捷径。你也记得那些风险你必须攑ּ和结束的Q因Z没有旉了。所以当你看?sh)?jing)的时候,你可以看到所有的~陷Q知道你看到你的朋友和家人时Q你才会(x)开始忘记这些?#8221;<br /> <br /> 哇哦Q如此深刅R?br /> <br /> 世界上像Pixarq样的公司,无疑?x)生一些最令h喜爱和完的l验Q但是最后还是没能生一个品,让团队中所有的人都认ؓ(f)它是最好的。之后思考ؓ(f)什么会(x)是这样呢Q原因是显而易见的--用预见性和技能来完善一些能使之更好Q还需要能力是一个巨大的关键炏V比你的能力更关键的Q我觉得是完善或者解册计问题的速度不够快。因为所有的设计使整个系列^衡,q个时候你不结束,你到底想要什么呢?br /> <br /> <strong>教训Q你永远是不?x)高兴的?/strong><br /> <br /> 在这ơ谈话中我得CQ就是我们做很多工作让我们的产品更好Q但是永q不?x)到达满意。一个伟Z旦说q你的品是垃圾--也许你一直会(x)认ؓ(f)它就是垃圾。然而在同一旉Q它是我们创意的斗争Q最l我们的创作越来越好。有一天,即你仍然认Z的品很p糕Q你?x)看C的顾客正在开心地使用它?br /> <br /> 一个短暂的瞬间Q你?x)忘记对于它你?f)什么会(x)不满意?br /> <br /> 特别感谢Matt Silas(@以撒1985, x?l我一个独特的l验。(最后,我在Luxo Jr.旁边拍了一张照片后d了。)<br /> <br /> <img alt="" src="http://www.shnenglu.com/images/cppblog_com/chinapeter2008/p2.jpg" border="0" height="1024" width="764" /><br /> <br /> <strong>喜欢q篇文章吗?</strong><br /> 如果你喜Ƣ这文章,误阅或者关注我的微薄。在q里你还可以扑ֈ更多的文章?br /> Andrew Chen?br /> <br /> Canaan译 微薄Q@以撒1985Q?br /> <br /> 2012q???下午7:27</div> <div>原文Q?a target="_blank">http://andrewchenblog.com/2012/03/02/why-your-product-will-never-seem-like-its-good-enough/</a></div><img src ="http://www.shnenglu.com/chinapeter2008/aggbug/167374.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/chinapeter2008/" target="_blank">canaan</a> 2012-03-08 11:26 <a href="http://www.shnenglu.com/chinapeter2008/archive/2012/03/08/167374.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>标准模板?目录一 容器http://www.shnenglu.com/chinapeter2008/archive/2012/03/01/166874.htmlcanaancanaanThu, 01 Mar 2012 07:23:00 GMThttp://www.shnenglu.com/chinapeter2008/archive/2012/03/01/166874.htmlhttp://www.shnenglu.com/chinapeter2008/comments/166874.htmlhttp://www.shnenglu.com/chinapeter2008/archive/2012/03/01/166874.html#Feedback0http://www.shnenglu.com/chinapeter2008/comments/commentRss/166874.htmlhttp://www.shnenglu.com/chinapeter2008/services/trackbacks/166874.html
标准模板?目录一   容器

1、STL?br />2、如何用文?br />3、容?br />    1、概?br />        1、一般概?br />           1?a target="_blank" href="http://www.shnenglu.com/chinapeter2008/archive/2012/03/13/167769.html">容器
           2?a target="_blank" href="http://www.shnenglu.com/chinapeter2008/archive/2012/03/19/168310.html">前向容器
           3?a target="_blank" href="http://www.shnenglu.com/chinapeter2008/archive/2012/03/21/168512.html">可逆容?/a>
           4?a target="_blank" href="http://www.shnenglu.com/chinapeter2008/archive/2012/03/31/169644.html">随机讉K容器
        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、vector(向量)
           2、deque(队列)
           3、list(?
           4、bit_vector(位向?
        2、关联容?br />           1、set(集合)
           2、map(映像)
           3、multiset(多重?
           4、multimap(多重映像)
           5、hash_set(哈希?
           6、hash_map(哈希映像)
           7、hash_multimap(哈希多重映像)
           8、hash(哈希)
        3、字W串?br />           1、Character Traits
           2、char_traits
           3、basic_string
        4、rope
        5、容器适配?br />           1、stack(?
           2、queue(队列)
           3、priority_queue(优先队列)
        6、bitset(位集)

下一?《标准模板库 目录?q代器?/div>

canaan 2012-03-01 15:23 发表评论
]]>
标准模板库(STLQ简介五 《STL的其他部?Other parts of the STL)?/title><link>http://www.shnenglu.com/chinapeter2008/archive/2012/03/01/166867.html</link><dc:creator>canaan</dc:creator><author>canaan</author><pubDate>Thu, 01 Mar 2012 06:47:00 GMT</pubDate><guid>http://www.shnenglu.com/chinapeter2008/archive/2012/03/01/166867.html</guid><wfw:comment>http://www.shnenglu.com/chinapeter2008/comments/166867.html</wfw:comment><comments>http://www.shnenglu.com/chinapeter2008/archive/2012/03/01/166867.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/chinapeter2008/comments/commentRss/166867.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/chinapeter2008/services/trackbacks/166867.html</trackback:ping><description><![CDATA[<div><br /><strong style="font-size: 14pt;">STL的其他部?Other parts of the STL)</strong><br style="font-size: 14pt;" /><br />如果你理解算法,q代器和容器Q那么就几乎知道STL的所有。然后,STLq包括一些其他类型的lg。首先,STL包括一些utilitiesQ在库的不同地方使用的非常基本的概念和功能。Assignable概念Q例如,描述那些有赋值操作符和拷贝构造函数的cd。几乎所有STL的类都是Assignable模式Q几乎所有的法都要求他们的参数是Assignable模式的?br /><br />其次QSTL包含一些低层次的机制来分配和释攑ֆ存。分配器非常专业Q无Z使用它们的目的是什么,你都可以安全的忽略它们?br /><br />最后,STL包括了大量的函数对象集,也被UCؓ(f)函子(functors)。正如P代器是指针的泛化Q函数对象是函数的泛化:(x)你可以用普通的函数调用Ҏ(gu)来调用一个函数对象:(x)q里有几U不同概늚函数对象关系Q包括一元函敎ͼ只有一个参数的函数对象Q即一个被UCؓ(f)f(x)的函数对象)和二元函敎ͼ需要两个参数的函数对象Q即一个被UCؓ(f)f(x,y)的函数对象)。函数对象是一般程序的一个重要组成部分,因ؓ(f)它们不仅仅允许对象类型抽象泛型编E还允许正在执行的操作抽象泛型编E?/div><img src ="http://www.shnenglu.com/chinapeter2008/aggbug/166867.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/chinapeter2008/" target="_blank">canaan</a> 2012-03-01 14:47 <a href="http://www.shnenglu.com/chinapeter2008/archive/2012/03/01/166867.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>标准模板库(STLQ简介四 《改q?Refinement)--q代器的改进?/title><link>http://www.shnenglu.com/chinapeter2008/archive/2012/02/28/166677.html</link><dc:creator>canaan</dc:creator><author>canaan</author><pubDate>Tue, 28 Feb 2012 02:33:00 GMT</pubDate><guid>http://www.shnenglu.com/chinapeter2008/archive/2012/02/28/166677.html</guid><wfw:comment>http://www.shnenglu.com/chinapeter2008/comments/166677.html</wfw:comment><comments>http://www.shnenglu.com/chinapeter2008/archive/2012/02/28/166677.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/chinapeter2008/comments/commentRss/166677.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/chinapeter2008/services/trackbacks/166677.html</trackback:ping><description><![CDATA[<div><strong>改善(Refinement)</strong><br /><br />输入q代器实际上是一个比较薄q概念Q它必须的要求很。输入P代器必须支持指针的算术运的一个子集(使用前缀和后~操作W?来增加输入P代器Q)Q但是ƈ不是需要指针所有的术q算。这对于find法已经_了,但是一些另外的法的参数需要满额外的要求。reverse法Q它的参数的“减少”(decrement)功能必须要像“增加”(increment)功能一L(fng)Q它使用表达?--last。在概念斚wQ我们说revers法的参数必L双向q代?Bidirectional Iterator)模式Q而不是输入P代器?br /><br />双向q代器概念非常类g输入q代器概念:(x)它只是简单的增加了一些额外的要求。双向P代器模式cd是输入P代器模式cd的一个子集。Q何一个类型,如果它是双向q代器模式,那么它肯定也是输入P代器模式。例如,int*Q既是双向P代器模式又是输入q代器模式。但istream_iteratorQ只是一个输入P代器模式。它不符合更严格的双向P代器的要求。双向P代器是输入P代器的一个改q。改q这个概念就跟c++cM的扉K常相|(x)我们使用不同的词Q而不叫它“l承”的最主要的原因是“改进”的概念而不是实际类型?br /><br />除了我们已经讨论的两个P代器概念Q其实还有另外三个P代器概念Q这5个P代器概念有输P代器Q输入P代器Q前向P代器Q双向P代器和随问P代器Q前向P代器是输入P代器的改q,双向q代器是前向q代器的改进Q随问P代器是双向P代器的改q。输P代器与其他四个P代器是有关系的,担不是一部分层次的改q:(x)它不是Q何其他P代器概念的改q,也没有其他P代器是从改进它而来的。P代器概述有更多关于P代器一般的消息?br /><br />容器c,像P代器一P被组l成一个层ơ的概念。所有容器都是容器概忉|式;更完善的概念Q如序列和关联容器,描述特定cd的容器?br /><br />下一?《STL的其他部分?br /></div><img src ="http://www.shnenglu.com/chinapeter2008/aggbug/166677.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/chinapeter2008/" target="_blank">canaan</a> 2012-02-28 10:33 <a href="http://www.shnenglu.com/chinapeter2008/archive/2012/02/28/166677.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>标准模板库(STLQ简介三 《概念和建模(Concepts and Modeling)?/title><link>http://www.shnenglu.com/chinapeter2008/archive/2012/02/23/166328.html</link><dc:creator>canaan</dc:creator><author>canaan</author><pubDate>Thu, 23 Feb 2012 05:41:00 GMT</pubDate><guid>http://www.shnenglu.com/chinapeter2008/archive/2012/02/23/166328.html</guid><wfw:comment>http://www.shnenglu.com/chinapeter2008/comments/166328.html</wfw:comment><comments>http://www.shnenglu.com/chinapeter2008/archive/2012/02/23/166328.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/chinapeter2008/comments/commentRss/166328.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/chinapeter2008/services/trackbacks/166328.html</trackback:ping><description><![CDATA[<div><strong style="font-size: 14pt;"><span style="font-size: 18pt;"><br />概念和徏?Concepts and Modeling)</span></strong><br style="font-size: 14pt;" /><br />M模板函数的一个非帔R要的问题Q不仅仅是关于STL法Q而是什么类型集可以正确的替换Ş式模板参数。很明显Q例如,int* 或double*可以替换find函数的Ş式模板参?strong>InputIterator</strong>。同h楚的是,int或double可能不行Qfind函数使用表达?firstQ和用操作符Q从而intcd对象或doublecd对象没意义。那么基本的{案是,发现STL隐式定义了一套类型的需求,它可以满些要求的实例。替?strong>InputIterator</strong>的Q何类型必L供这些操作:(x)它必能够比较两个对象是否相{,它必d以增加该cd的一个对象,它必d以通过该类型的引用来获得它指向的对象,依次cL?br /><br />find函数q不是STL中有q些需求的唯一的算法;for_each函数和count函数Q还有其他算法函数的参数也必要满q些要求。这些要求相当重要,值得我们l它们一个名字:(x)我们U这U类型集的要求ؓ(f)概念(concept)Q我们称q个特定的概念ؓ(f)输入q代?<strong>Input Iterator</strong>)。一个类型如果满了所有这些要求,我们说这个类型符合一个概念,或者说是一个概忉|型。我们说int*是一个输入P代器<strong>(Input Iterator</strong>)的模型,因ؓ(f)int*提供了输入P代器的所有要求的操作?br /><br />概念不是C++语言的一部分;没有办法在一个程序中定义一个或者申明一个概忉|型的特定cd。然而,概念是STL的一个极光要的l成部分。用概?concepts)使得写程序时有可能把接口从实C清楚地分:(x)find函数的作者只需要考虑q个接口W合输入q代?<strong>Input Iterator</strong>)概念Q而不是去实现每一个可能的cdW合q个概念。同P如果你想使用find函数,你只需要确保你传递给他的参数是输入P?<strong>Input Iterator</strong>)模型。这是find函数和reverse函数可以用于lists,vector,C数组Q和许多其他cd的原因:(x)概念~程Q而不是ؓ(f)特定cd~程Q得它可以重用软glg和结合这些组件?br /><br />下一?<a href="http://www.shnenglu.com/chinapeter2008/archive/2012/02/28/166677.html">《改q?refinement)?/a><br /></div><img src ="http://www.shnenglu.com/chinapeter2008/aggbug/166328.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/chinapeter2008/" target="_blank">canaan</a> 2012-02-23 13:41 <a href="http://www.shnenglu.com/chinapeter2008/archive/2012/02/23/166328.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>标准模板库(STLQ简介二 《P代器?/title><link>http://www.shnenglu.com/chinapeter2008/archive/2012/02/22/166235.html</link><dc:creator>canaan</dc:creator><author>canaan</author><pubDate>Wed, 22 Feb 2012 06:52:00 GMT</pubDate><guid>http://www.shnenglu.com/chinapeter2008/archive/2012/02/22/166235.html</guid><wfw:comment>http://www.shnenglu.com/chinapeter2008/comments/166235.html</wfw:comment><comments>http://www.shnenglu.com/chinapeter2008/archive/2012/02/22/166235.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/chinapeter2008/comments/commentRss/166235.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/chinapeter2008/services/trackbacks/166235.html</trackback:ping><description><![CDATA[<div><strong style="font-size: 18pt;">q代?Iterators)</strong><br style="font-size: 18pt;" /><br />在上面C数组逆向排序的例子中Qreverse的参数明显是double*cd。如果用reverse逆向排序vector或list, 参数又是什么呢Q也是说reversex的是什么参敎ͼq有v.begin<br /><br />()和v.end()q回什么?<br /><br />{案是reverse的参数是q代?iterators)是指针对一般化。指针本w就是P代器Q所以reverse可以逆向排序C数组中的元素。类似的Qvectorx了嵌套类型iterator?br /><br />const_iterator。在上面的例子中Qv.begin()和v.end()的返回类型是 vector<int>::iterator。也有一些P代器Q像istream_iterator和ostream_iteratorQ它们与容器是没?br /><br />兌的?br /><br />q代器是让算法与容器分离成ؓ(f)可能Q算法是模板Q需要被q代cd参数化用,所以它们不?x)限制在某一U容器类型。考虑Q例如,如何写一个算法在一个范围内q行U性搜?br /><br />。下面是STL中find法?br /><br />   template<class InputIterator, class T><br />   InputIterator find(InputIterator first, InputIterator last, const T&value)<br />   {<br />    while(first != last && *first != value)++first;<br />        return first;<br />  }<br /><br />find函数需要三个参敎ͼ(x)两个q代器定义一个范_(d)q有一个value值查找。它在[first,last)q个范围内从开始到最后一个一个检查P代,当它扑ֈ一个P代指向的D我们L<br /><br />的值相同时或者它到达范围的结束时Q就停止查找?br />first和last被申明ؓ(f)InputIteratorcdQ而InputIterator是一个模板参数。也是说实际上没有一个类型ؓ(f)InputIteratorQ当你调用find函数Ӟ~译器会(x)把Ş式参?br /><br />InputIterator和T替换成实际类型参数。如果find函数的前面两个参数类型ؓ(f)int*Q第三个参数cd为int,那么像调用下面的函数?br />   int* find(int* first, int* last, const int& value)<br />   {<br />      while(first != last && *first != value)++first;<br />      return first;<br />   }<br /><br /><br />下一?《概念与建模?/div><img src ="http://www.shnenglu.com/chinapeter2008/aggbug/166235.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/chinapeter2008/" target="_blank">canaan</a> 2012-02-22 14:52 <a href="http://www.shnenglu.com/chinapeter2008/archive/2012/02/22/166235.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>标准模板库(STLQ简介一 《容器和法?/title><link>http://www.shnenglu.com/chinapeter2008/archive/2012/02/20/166090.html</link><dc:creator>canaan</dc:creator><author>canaan</author><pubDate>Mon, 20 Feb 2012 13:02:00 GMT</pubDate><guid>http://www.shnenglu.com/chinapeter2008/archive/2012/02/20/166090.html</guid><wfw:comment>http://www.shnenglu.com/chinapeter2008/comments/166090.html</wfw:comment><comments>http://www.shnenglu.com/chinapeter2008/archive/2012/02/20/166090.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/chinapeter2008/comments/commentRss/166090.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/chinapeter2008/services/trackbacks/166090.html</trackback:ping><description><![CDATA[<div><br /><div align="center"><strong style="font-size: 18pt;">标准模板库(STLQ简?br /></strong></div><br />STL是一个包含类Q算法和q代器的C++库;它提供许多计机U学的基本算法和数据l构。STL是一个基本库Q意味着它的l成有大量的参数Q基本上每个l成部分都是一个模ѝ在你用STL之前要弄清楚模板是怎么工作的?br /><br /><strong style="font-size: 14pt;">容器和算?/strong><br style="font-size: 14pt;" /><br style="font-size: 14pt;" />像许多其他cd一?STL库也包含容器c:(x)q些cȝ意图是用来容U_他对象。STL包含VectorQ矢量,向量Q类QlistQ清单),dequeQ队列),setQ集Q?multisetQ多重集Q?map,multimap,hash_setQ哈希集Q?hash_multisetQ哈希多重集Q?hash_map和hash_multimap。所有这些类都是一个模板,它可以实例化来容UQ何类型的对象。D个例子,你可以用vector<int>来代替普通的C数组Q而且vector不用理分配动态内存?br /><br />    vector<int> v(3);         //声明一个包?个元素的vector?br />    v[0] = 7;<br />    v[1] = v[0] + 3;<br />    v[2] = v[0] + v[1];       //v[0] == 7, v[1] == 10, v[2] == 17<br /><br />STL也包含了很多法用来操作容器中的数据。你可以使一个vetor中的元素逆向排列QD个用reverse法的例子?br />   <br /> reverse(v.begin(), v.end());   // v[0] == 17, v[1] == 10, v[2] == 7<br /><br />调用q个reverse函数需要注意两个要炏V第一Q它不是成员函数Q而是一个全局函数。第二,它需要两个参数而不是一个:(x)它不是作用在容器上,而是作用在一pd元素上。在q个具体的例子一pd元素是整个容器v?br /><br />q些事实的原理都是一L(fng)QreverseQ像其他STL法Q都是与STL容器cdȝ。这意味着reverse不仅仅只能用在vector中的元素Q还可以用在lists中的元素Q甚xC数组中的元素。下面的E序是正的?br /> <br />  double A[6] = {1.2, 1.3, 1.4, 1.5, 1.6, 1.7}Q?br />   reverse(A, A + 6);<br />   for(int i=0; i<6; ++i)<br />     cout << "A[" << i << "]=" << A[i];<br /><br />q个例子用了一个范_(d)像逆序一个vector的例子:(x)reverse的第一个参数指向这个范围的开始,W二个参数指向这个范围的末尾的后面。这个范围是[A, A+6Q;q两个不对称的记可人想C个不一L(fng)端点Q第一个是q个范围的开始,W二个是q个范围末端的后一位?br /><br /><br /><a href="http://www.shnenglu.com/chinapeter2008/archive/2012/02/22/166235.html">下一节《P代器?/a><br /></div><img src ="http://www.shnenglu.com/chinapeter2008/aggbug/166090.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/chinapeter2008/" target="_blank">canaan</a> 2012-02-20 21:02 <a href="http://www.shnenglu.com/chinapeter2008/archive/2012/02/20/166090.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>标准模板库STLE序员指?/title><link>http://www.shnenglu.com/chinapeter2008/archive/2010/07/30/121665.html</link><dc:creator>canaan</dc:creator><author>canaan</author><pubDate>Fri, 30 Jul 2010 01:21:00 GMT</pubDate><guid>http://www.shnenglu.com/chinapeter2008/archive/2010/07/30/121665.html</guid><wfw:comment>http://www.shnenglu.com/chinapeter2008/comments/121665.html</wfw:comment><comments>http://www.shnenglu.com/chinapeter2008/archive/2010/07/30/121665.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/chinapeter2008/comments/commentRss/121665.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/chinapeter2008/services/trackbacks/121665.html</trackback:ping><description><![CDATA[<p><a href="http://www.shnenglu.com/chinapeter2008/archive/2012/02/20/166090.html">STL?/a></p> <p><a href="http://www.shnenglu.com/chinapeter2008/archive/2012/03/01/166874.html">目录</a></p> <p>索引</p> <p>设计文档</p> <p>其他STL资源</p> <p>IOstream库(实验Q?/p> <p>如何使用本站</p> <p>STL下蝲</p> <p>分类索引</p> <p>最新消?/p> <p>常见问题</p> <p>允许免费使用Q复Ӟ修改Q分发和出售本Y件及(qing)其文档以M用途。只是在拯文g和支持文档中都要有版权申明。Silicon Graphics 没有因ؓ(f)M陈述本Y仉合范围。它按原h供没有Q何担保?/p> <p>版权所?#169; 1994<br />惠普公司</p> <p>原文Q?a onclick="pageTracker._trackPageview('/outgoing/www.sgi.com/tech/stl/?referer=');" target="_blank"><u><font color="#0000ff">http://www.sgi.com/tech/stl/</font></u></a></p><img src ="http://www.shnenglu.com/chinapeter2008/aggbug/121665.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/chinapeter2008/" target="_blank">canaan</a> 2010-07-30 09:21 <a href="http://www.shnenglu.com/chinapeter2008/archive/2010/07/30/121665.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <p>лǵվܻԴȤ</p> <a href="http://www.shnenglu.com/" title="精品视频久久久久">精品视频久久久久</a> <div class="friend-links"> </div> </div> </footer> <a href="http://www.rahd.cn" target="_blank">þþþþžžƷӰԺ</a>| <a href="http://www.fyhd.net.cn" target="_blank">þþƷ </a>| <a href="http://www.me79.cn" target="_blank">Ůþþþþ</a>| <a href="http://www.gongyeyongbu.com.cn" target="_blank">avþþƷ</a>| <a href="http://www.iceplaza.cn" target="_blank">91Ʒþþþþù۲</a>| <a href="http://www.szjjls.cn" target="_blank">һaƬþëƬ</a>| <a href="http://www.xiaoneiweb.cn" target="_blank">һþaþþƷۺ</a>| <a href="http://www.120o.cn" target="_blank">þþþþþƵ</a>| <a href="http://www.sxweishang.cn" target="_blank">ھƷ˾þþþվ</a>| <a href="http://www.eaglehr.com.cn" target="_blank">߳߳þþ</a>| <a href="http://www.ixdsw.cn" target="_blank">ھƷþþӰԺ</a>| <a href="http://www.gcjszzbjb.cn" target="_blank">þWWW˳ɡƬ</a>| <a href="http://www.kfak.cn" target="_blank">þþþþƷAV</a>| <a href="http://www.daami.cn" target="_blank">þùƷ</a>| <a href="http://www.vyfx.cn" target="_blank">þ97Ʒþþþþþò</a>| <a href="http://www.ycsxw.cn" target="_blank">޳ɫwwwþվҹ</a>| <a href="http://www.t8s.com.cn" target="_blank">ˬˬƬaþ</a>| <a href="http://www.ovnk.cn" target="_blank">91þþƷƵ</a>| <a href="http://www.keyboo.cn" target="_blank">ŷ츾þþþþò</a>| <a href="http://www.sdyingdahb.cn" target="_blank">ݺɫþþһ</a>| <a href="http://www.kq58.cn" target="_blank">ҹƷƬþ</a>| <a href="http://www.ahgmxy.com.cn" target="_blank">þҹ³Ƭ</a>| <a href="http://www.00dh.cn" target="_blank">þþþþƵ</a>| <a href="http://www.tianyicpa.com.cn" target="_blank">ձþþþþĻ</a>| <a href="http://www.3hong.cn" target="_blank">ŷɫ۾þþƷ</a>| <a href="http://www.wordboy.cn" target="_blank">Ʒþþþþ</a>| <a href="http://www.231it.cn" target="_blank">99þù޸ۿ2024</a>| <a href="http://www.e8ux.cn" target="_blank">Vþþ</a>| <a href="http://www.sjpeixun.cn" target="_blank">ƷۺϾþþþþ97</a>| <a href="http://www.s360.com.cn" target="_blank">þƵ</a>| <a href="http://www.ggpj.net.cn" target="_blank">ƷþþĻ</a>| <a href="http://www.ywpc88.cn" target="_blank">ŮдþӰԺ</a>| <a href="http://www.xiaoxyl.cn" target="_blank">ҹƷƬþӰ </a>| <a href="http://www.zhoucheng888.cn" target="_blank">պƷþþþþ</a>| <a href="http://www.huodiba.cn" target="_blank">þֹۺ޾Ʒ</a>| <a href="http://www.depsys.cn" target="_blank">þþƷ7777</a>| <a href="http://www.lkmheatlock.com.cn" target="_blank">ӰԺ˾þ</a>| <a href="http://www.e9920.cn" target="_blank">99þþƷһ</a>| <a href="http://www.bb657.cn" target="_blank">Ʒþþþþù91</a>| <a href="http://www.zysun.com.cn" target="_blank">avþþþþòվ</a>| <a href="http://www.b2221.cn" target="_blank">99ƷþþƷһ</a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>