{"id":3768,"date":"2012-09-19T09:00:01","date_gmt":"2012-09-19T00:00:01","guid":{"rendered":"http:\/\/www.moonmile.net\/blog\/archives\/3768"},"modified":"2012-09-19T09:37:54","modified_gmt":"2012-09-19T00:37:54","slug":"c-%e3%81%9d%e3%81%86%e3%81%84%e3%81%88%e3%81%b0-auto-%e3%81%ae%e8%90%bd%e3%81%a8%e3%81%97%e7%a9%b4%e3%82%92%e7%a4%ba%e3%81%97%e3%81%a6%e3%81%8a%e3%81%8f%e3%81%a8","status":"publish","type":"post","link":"http:\/\/www.moonmile.net\/blog\/archives\/3768","title":{"rendered":"[C++] \u305d\u3046\u3044\u3048\u3070 auto \u306e\u843d\u3068\u3057\u7a74\u3092\u793a\u3057\u3066\u304a\u304f\u3068"},"content":{"rendered":"<p>C++11 \u3042\u305f\u308a\u304b\u3089\u3001\u3064\u30fc\u304b\u3001VC++2008 \u3067\u3082\u3042\u3063\u305f\u3088\u3046\u306a\u6c17\u304c\u3059\u308b\u306e\u3067\u3059\u304c\u3001C++ \u3067\u306f C# \u306e var \u306e\u3088\u3046\u306b auto \u304c\u4f7f\u3048\u307e\u3059\u3002<br \/>\nVB.NET \u306e dim \u304c dim \u306b\u5909\u308f\u3063\u305f\u3088\u3046\u306b\u3001C++ \u306e auto \u304c auto \u306b\u5909\u308f\u3063\u305f\u308f\u3051\u3067\u3059\u304c\u3001\u6614\u306e auto \u3092\u77e5\u3089\u306a\u3044\u65b9\u306f\u3001\u307e\u3042\u3001\u77e5\u3089\u306a\u304f\u3066\u3082\u3088\u3044\u304b\u3068\u3002\u4e8b\u5b9f\u4e0a\u4f7f\u308f\u306a\u304b\u3063\u305f\u3057\u3002<\/p>\n<p>\u3055\u3066\u3001C++ \u3067\u3082 auto \u3067\u578b\u63a8\u8ad6\u304c\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u3063\u305f\u8a33\u3067\u3059\u304c\u3001\u3053\u308c\u306b\u3061\u3087\u3063\u3068\u843d\u3068\u3057\u7a74\u304c\u3042\u308b\u3063\u3066\u306e\u3092\u5c11\u3057\u3002<br \/>\nauto \u3092\u4f55\u306b\u4f7f\u3046\u304b\u3068\u3044\u3046\u3068\u3001\u6700\u521d\u306f typedef \u306e\u4ee3\u308f\u308a\u3067\u3059\u304b\u306d\u3002\u3088\u304f\u3084\u308b std::vector&lt;string&gt;::iterator \u3063\u3066\u306e\u3092\u3001var \u3067\u66f8\u304d\u76f4\u3059\u3068\u975e\u5e38\u306b\u697d\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\nvector&lt;string&gt; vec;\r\nfor ( vector&lt;string&gt;::iterator it=vec.begin(); it != vec.end(); ++it )\r\n{\r\n  ...\r\n}\r\n<\/pre>\n<p>\u3053\u3093\u306a\u98a8\u306b\u6a2a\u306b\u9577\u3044\u30b3\u30fc\u30c9\u304c<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\nvector&lt;string&gt; vec;\r\nfor ( auto it=vec.begin(); it != vec.end(); ++it )\r\n{\r\n  ...\r\n}\r\n<\/pre>\n<p>\u3068\u3044\u3046\u98a8\u306b\u66f8\u3051\u307e\u3059\u3002\u304b\u3064\u3066\u306f\u3001typedef \u3092\u3057\u3066<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\nvector&lt;string&gt; vec;\r\ntypedef vector&lt;string&gt;::iterator VECTOR_IT:\r\n&lt;\/p&gt;\r\n&lt;p&gt;\r\nfor ( VECTOR_IT it=vec.begin(); it != vec.end(); ++it )\r\n{\r\n  ...\r\n}\r\n<\/pre>\n<p>\u3068\u3044\u3046\u30b3\u30fc\u30c9\u3082\u3042\u3063\u305f\u306e\u3067\u3059\u304c\u3001\u3053\u308c\u3067\u7121\u99c4\u306a typedef \u304c\u99c6\u9010\u3055\u308c\u307e\u3059\u3002\u3053\u306e typedef \u3063\u3066 #ifdef \u304c\u3067\u304d\u306a\u3044\u306e\u3067\u3001\u7d50\u69cb\u5384\u4ecb\u306a\u306e\u3067\u3059\u3002<\/p>\n<p>\u25a0\u578b\u63a8\u8ad6\u3092\u63a8\u8ad6\u3059\u308b\u843d\u3068\u3057\u7a74<\/p>\n<p>\u7686\u3055\u307e\u3054\u5b58\u3058\u306e\u901a\u308a\u3001C++ \u306b\u306f\u3001\u300c\u5024\u578b\u300d\u3068\u300c\u30dd\u30a4\u30f3\u30bf\u300d\u3063\u3066\u533a\u5225\u304c\u3042\u308a\u307e\u3059\u3002\u66f4\u306b\u4e91\u3048\u3070\u3001\u300c\u53c2\u7167\u300d\u3063\u3066\u306e\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n<p>\u5148\u306e\u578b\u63a8\u8ad6\u300cauto\u300d\u3092\u4f7f\u3046\u3068\u3001<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\nvector&lt;int&gt; vec;\r\nauto bar = vec;\r\n<\/pre>\n<p>\u3068\u3057\u305f\u3068\u304d\u306b\u3001bar \u306e\u4e2d\u8eab\u306f vec \u3068\u540c\u3058\u306b\u306a\u308a\u307e\u3059\u3002\u306a\u306e\u3067\u3001\u4e00\u898b\u3001\u300c\u53c2\u7167\u300d\u306e\u3088\u3046\u306b\u898b\u3048\u308b\u306e\u3067\u3001<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\nvector&lt;int&gt; vec;\r\nvector&lt;int&gt; &amp;bar = vec;\r\n<\/pre>\n<p>\u3068\u601d\u3044\u6c17\u3084\u3001\u5b9f\u306f\u9055\u3044\u307e\u3059\u3002vector&lt;int&gt; \u306e\u30b3\u30d4\u30fc\u306b\u306a\u308a\u3001vec \u3068 bar \u306f\u5225\u3082\u306e\u306a\u306e\u3067\u3059\u3088\u3002<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\n#include &lt;vector&gt;\r\n#include &lt;iostream&gt;\r\nusing namespace std;\r\n\r\nint main()\r\n{\r\n\tvector&lt;int&gt; vec;\r\n\tauto bar = vec;\r\n\t\/\/ \u8981\u7d20\u3092\u8ffd\u52a0\u3059\u308b\r\n\tvec.push_back(1);\r\n\tcout &lt;&lt; &amp;quot;vec:&amp;quot; &lt;&lt; vec.size() &lt;&lt; endl;\r\n\tcout &lt;&lt; &amp;quot;bar:&amp;quot; &lt;&lt; bar.size() &lt;&lt; endl;\r\n\treturn 0;\r\n}\r\n<\/pre>\n<p>\u306e\u30b3\u30fc\u30c9\u3092\u52d5\u304b\u3059\u3068 vec:1, bar:0 \u3068\u3044\u3046\u5024\u3092\u5f97\u307e\u3059\u3002<\/p>\n<p>\u305d\u3053\u3067\u300c\u53c2\u7167\u300d\u3067\u3042\u308b\u3053\u3068\u3092\u660e\u78ba\u306b\u3057\u3066\u300c&amp;bar\u300d\u306e\u3088\u3046\u306b\u3059\u308b\u3068\u3001<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\nint main()\r\n{\r\n\tvector&lt;int&gt; vec;\r\n\tauto &amp;bar = vec;\r\n\t\/\/ \u8981\u7d20\u3092\u8ffd\u52a0\u3059\u308b\r\n\tvec.push_back(1);\r\n\tcout &lt;&lt; &amp;quot;vec:&amp;quot; &lt;&lt; vec.size() &lt;&lt; endl;\r\n\tcout &lt;&lt; &amp;quot;bar:&amp;quot; &lt;&lt; bar.size() &lt;&lt; endl;\r\n\treturn 0;\r\n}\r\n<\/pre>\n<p>vec:1, bar:1 \u3068\u3044\u3046\u5024\u3092\u5f97\u307e\u3059\u3002<\/p>\n<p>\u3061\u306a\u307f\u306b\u3001\u30dd\u30a4\u30f3\u30bf\u3092\u63a8\u8ad6\u3055\u305b\u3066 \u300c&amp;vec\u300d\u3068\u6307\u5b9a\u3059\u308b\u3068\u3001\u3046\u307e\u304f vec:1 bar:1 \u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\nint main()\r\n{\r\n\tvector&lt;int&gt; vec;\r\n\tauto bar = &amp;vec;\r\n\t\/\/ \u8981\u7d20\u3092\u8ffd\u52a0\u3059\u308b\r\n\tvec.push_back(1);\r\n\tcout &lt;&lt; &amp;quot;vec:&amp;quot; &lt;&lt; vec.size() &lt;&lt; endl;\r\n\tcout &lt;&lt; &amp;quot;bar:&amp;quot; &lt;&lt; bar-&gt;size() &lt;&lt; endl;\r\n\treturn 0;\r\n}\r\n<\/pre>\n<p>\u306a\u306e\u3067\u3001C++ \u306e auto \u306b\u3088\u308b\u578b\u63a8\u8ad6\u306f\u3001bar \u3068 &amp;bar \u3068 *bar \u3092\u3046\u307e\u304f\u4f7f\u3044\u5206\u3051\u306a\u3044\u3068\u99c4\u76ee\u306a\u3093\u3067\u3059\u3088\u3002\u307e\u3042\u3001\u5927\u62b5\u306e\u5834\u5408\u5927\u4e08\u592b\u306a\u3093\u3067\u3059\u304c\u3001\u30b3\u30d4\u30fc\u30b3\u30f3\u30b9\u30c8\u30e9\u30af\u30bf\u304c\u5b9a\u7fa9\u3057\u3066\u3042\u308b\u5834\u5408\u306f\u30b3\u30f3\u30d1\u30a4\u30eb\u30a8\u30e9\u30fc\u306b\u306a\u3089\u306a\u3044\u306e\u3067\u306f\u307e\u308a\u3069\u3053\u308d\u3067\u3059\u3002<br \/>\n\u3061\u306a\u307f\u306b\u3001C# \u306e\u5834\u5408\u306f\u3001\u3053\u306e\u3088\u3046\u306a\u88c5\u98fe\u5b50\u304c\u306a\u3044\u306e\u3067\u3001\u63a8\u8ad6\u306b\u4efb\u305b\u308b\u3057\u304b\u306a\u3044\u3063\u3066\u611f\u3058\u306a\u3093\u3067\u3059\u3051\u3069\u306d\u3002\u6697\u9ed9\u306e\u5909\u63db\u3092\u5229\u7528\u3059\u308b\u3068\u3001var \u3068 \u578b\u6307\u5b9a\u3067\u306f\u9055\u3063\u305f\u5024\u306b\u3059\u308b\u30c8\u30ea\u30c3\u30af\u3082\u3067\u304d\u308b\u3057\u3001dynamic \u306e\u5834\u5408\u306f\u578b\u304c\u5f8c\u304b\u3089\u5909\u63db\u3055\u308c\u308b\u305f\u3081\u306b\u66f4\u306b\u3084\u3084\u3053\u3057\u304b\u3063\u305f\u308a\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>C++11 \u3042\u305f\u308a\u304b\u3089\u3001\u3064\u30fc\u304b\u3001VC++2008 \u3067\u3082\u3042\u3063\u305f\u3088\u3046\u306a\u6c17\u304c\u3059\u308b\u306e\u3067\u3059\u304c\u3001C++ \u3067\u306f C# \u306e var \u306e\u3088\u3046\u306b auto \u304c\u4f7f\u3048\u307e\u3059\u3002 VB.NET \u306e dim \u304c dim \u306b\u5909\u308f\u3063\u305f\u3088\u3046\u306b\u3001C++ \u306e a &hellip; <a href=\"http:\/\/www.moonmile.net\/blog\/archives\/3768\">\u7d9a\u304d\u3092\u8aad\u3080 <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[22],"tags":[],"class_list":["post-3768","post","type-post","status-publish","format-standard","hentry","category-c"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/posts\/3768","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/comments?post=3768"}],"version-history":[{"count":3,"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/posts\/3768\/revisions"}],"predecessor-version":[{"id":3773,"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/posts\/3768\/revisions\/3773"}],"wp:attachment":[{"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/media?parent=3768"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/categories?post=3768"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.moonmile.net\/blog\/wp-json\/wp\/v2\/tags?post=3768"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}