{"id":1207,"date":"2014-02-14T14:47:36","date_gmt":"2014-02-14T06:47:36","guid":{"rendered":"http:\/\/www.dogeye.net\/?p=1207"},"modified":"2014-02-14T14:47:36","modified_gmt":"2014-02-14T06:47:36","slug":"%e4%b8%ba%e4%bb%80%e4%b9%88%e6%8c%87%e9%92%88%e5%8f%af%e4%bb%a5%e5%81%9a%e4%b8%ba%e8%bf%ad%e4%bb%a3%e5%99%a8%e4%bd%bf%e7%94%a8%e5%91%a2","status":"publish","type":"post","link":"https:\/\/ykyi.net\/?p=1207","title":{"rendered":"\u4e3a\u4ec0\u4e48\u6307\u9488\u53ef\u4ee5\u505a\u4e3a\u8fed\u4ee3\u5668\u4f7f\u7528\u5462"},"content":{"rendered":"<p>\u5199\u4e86\u5341\u51e0\u5e74\u4ee3\u7801\u4e86\uff0c\u4eca\u5929\u624d\u77e5\u9053*\u4e3a\u4ec0\u4e48*\u6307\u9488\u53ef\u4ee5\u505a\u4e3a\u8fed\u4ee3\u5668\u4f7f\u7528\u3002<\/p>\n<p>\u8fd9\u662f\u56e0\u4e3a\uff1a<\/p>\n<p>\u9996\u5148\uff0c\u6807\u51c6\u5e93\u91cc\u6709\u8fd9\u6837\u4e00\u4e2atemplate\uff0c\u5b83\u7528\u6765\u5f97\u5230\u7279\u5b9a\u8fed\u4ee3\u5668\u7684\u76f8\u5173\u7279\u6027:<\/p>\n<pre class=\"brush:cpp\">    namespace std {\n       template &lt;class T&gt;\n       struct iterator_traits {\n           typedef typename T::value_type            value_type;\n           typedef typename T::difference_type       difference_type;\n           typedef typename T::iterator_category     iterator_category;\n           typedef typename T::pointer               pointer;\n           typedef typename T::reference             reference;\n       };\n   } <\/pre>\n<p>\u800c\u5bf9\u4e8e\u6307\u9488\uff0c\u53c8\u6709\u8fd9\u6837\u4e00\u4e2a\u6a21\u677f\u7279\u4f8b\u5316\uff0c<\/p>\n<pre class=\"brush:cpp\">   namespace std {\n       template &lt;class T&gt;\n       struct iterator_traits&lt;T*&gt; {\n           typedef T                          value_type;\n           typedef ptrdiff_t                  difference_type;\n           typedef random_access_iterator_tag iterator_category;\n           typedef T*                         pointer;\n           typedef T&amp;                         reference;\n       };\n   }<\/pre>\n<p>\u8fd9\u4e2a\u6a21\u677f\u7279\u4f8b\u5316\u7684\u610f\u601d\u662f\uff1a\u5bf9\u4e8e\u6bcf\u4e00\u4e2a\u6307\u5411\u7c7b\u578bT\u7684\u6307\u9488\uff0c\u90fd\u88ab\u5b9a\u4e49\u4e3a\u4e00\u4e2a\u53ef\u968f\u673a\u8bbf\u95ee\u7684\u8fed\u4ee3\u5668\u3002<\/p>\n<p>\u66f4\u8be6\u7ec6\u7684\uff0c\u53c2\u89c1\u6587\u7ae0\uff1a\u4ecb\u7ecditerator_trait&nbsp;<a href=\"http:\/\/www.codeproject.com\/Articles\/36530\/An-Introduction-to-Iterator-Traits\" style=\"line-height: 1.6em;\">http:\/\/www.codeproject.com\/Articles\/36530\/An-Introduction-to-Iterator-Traits<\/a><\/p>\n<p>copyright ykyi.net<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5199\u4e86\u5341\u51e0\u5e74\u4ee3\u7801\u4e86\uff0c\u4eca\u5929\u624d\u77e5\u9053*\u4e3a\u4ec0\u4e48*\u6307\u9488\u53ef\u4ee5\u505a\u4e3a\u8fed\u4ee3\u5668\u4f7f\u7528\u3002 \u8fd9\u662f\u56e0\u4e3a\uff1a \u9996\u5148\uff0c\u6807\u51c6\u5e93\u91cc\u6709\u8fd9\u6837\u4e00\u4e2atemplate\uff0c\u5b83\u7528\u6765\u5f97\u5230\u7279\u5b9a\u8fed\u4ee3\u5668\u7684\u76f8\u5173\u7279\u6027: namespace std { template &lt;class T&gt; struct iterator_traits { typedef typename T::value_type value_type; typedef typename T::difference_type difference_type; typedef typename T::iterator_category iterator_category; typedef typename T::pointer pointer; typedef typename T::reference reference; }; } \u800c\u5bf9\u4e8e\u6307\u9488\uff0c\u53c8\u6709\u8fd9\u6837\u4e00\u4e2a\u6a21\u677f\u7279\u4f8b\u5316\uff0c namespace std { template &lt;class T&gt; struct iterator_traits&lt;T*&gt; { typedef T value_type; typedef ptrdiff_t difference_type; typedef random_access_iterator_tag iterator_category; typedef T* &hellip; <a href=\"https:\/\/ykyi.net\/?p=1207\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;\u4e3a\u4ec0\u4e48\u6307\u9488\u53ef\u4ee5\u505a\u4e3a\u8fed\u4ee3\u5668\u4f7f\u7528\u5462&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[20,74],"class_list":["post-1207","post","type-post","status-publish","format-standard","hentry","category-tech_articles","tag-c","tag-stl"],"_links":{"self":[{"href":"https:\/\/ykyi.net\/index.php?rest_route=\/wp\/v2\/posts\/1207","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ykyi.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ykyi.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ykyi.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ykyi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1207"}],"version-history":[{"count":0,"href":"https:\/\/ykyi.net\/index.php?rest_route=\/wp\/v2\/posts\/1207\/revisions"}],"wp:attachment":[{"href":"https:\/\/ykyi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1207"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ykyi.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1207"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ykyi.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1207"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}