{"id":7493,"date":"2013-06-28T22:40:28","date_gmt":"2013-06-28T21:40:28","guid":{"rendered":"http:\/\/www.itwriting.com\/blog\/?p=7493"},"modified":"2013-06-28T22:40:28","modified_gmt":"2013-06-28T21:40:28","slug":"visual-c-will-implement-all-of-c-11-and-14-some-of-c99-says-microsoft","status":"publish","type":"post","link":"https:\/\/www.itwriting.com\/blog\/7493-visual-c-will-implement-all-of-c-11-and-14-some-of-c99-says-microsoft.html","title":{"rendered":"Visual C++ will implement all of C++ 11 and C++ 14, some of C99 says Microsoft"},"content":{"rendered":"<p>Microsoft\u2019s Herb Sutter spoke at Microsoft Build in San Francisco on the future of C++.<\/p>\n<p><a href=\"http:\/\/www.itwriting.com\/blog\/wp-content\/uploads\/2013\/06\/image10.png\"><img loading=\"lazy\" decoding=\"async\" title=\"image\" style=\"border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px\" border=\"0\" alt=\"image\" src=\"http:\/\/www.itwriting.com\/blog\/wp-content\/uploads\/2013\/06\/image_thumb10.png\" width=\"244\" height=\"228\" \/><\/a><\/p>\n<p>Microsoft has been criticised for being slow to implement all the features of ISO C++ 11. Sutter says most features are now included in the public preview of Visual Studio 2013 \u2013 which has a \u201cGo Live\u201d license so you can use it in production \u2013 including the oft-requested variadic templates. The full list:<\/p>\n<ul>\n<li>Explicit conversion operators<\/li>\n<li>Raw string literals<\/li>\n<li>Function template default arguments<\/li>\n<li>Delegating constructors<\/li>\n<li>Uniform int and initializer_lists<\/li>\n<li>Variadic templates<\/li>\n<\/ul>\n<p>More features are coming in the RTM (final release) of Visual Studio 2013 later this year:<\/p>\n<ul>\n<li>Non-static member initializers<\/li>\n<li>=default<\/li>\n<li>=delete<\/li>\n<li>\u2018using\u2019 aliases<\/li>\n<\/ul>\n<p>A technical preview will then follow and Sutter listed possible features of which there will be a subset. Full conformance will follow at an unspecified time.<\/p>\n<p>Microsoft is also promising a full implementation of C++ 14, the next update to the standard, even though the exact specification is not yet fully agreed. Some C++ 14 features will be implemented ahead of C++ 11 features, if they are considered to add high value.<\/p>\n<p>Two other points of interest. <\/p>\n<p>Async\/await (familiar to C# developers) will be implemented in the post-RTM CTP because it is such a useful feature for Windows Runtime app developers, even though it is not part of the ISO standard. <\/p>\n<p>Finally, Microsoft will also several C99 features in the RTM of Visual Studio 2013:<\/p>\n<ul>\n<li>Variable decls<\/li>\n<li>C99_Bool<\/li>\n<li>compound literals<\/li>\n<li>designated initializers<\/li>\n<\/ul>\n<p>The reason for implementing these is that they are needed to compile popular open source libraries like FFmpeg.<\/p>\n<p>I asked Sutter why Microsoft is not planning full conformance to C99. He said it was a matter of priorities and that work on C++ 11 and C++ 14 was more important. If there are particular additional features of C99 developers would like to see implemented, contacting Sutter with requests and rationale might eventually yield results.<\/p>\n<p><a href=\"http:\/\/www.itwriting.com\/blog\/wp-content\/uploads\/2013\/06\/image11.png\"><img loading=\"lazy\" decoding=\"async\" title=\"image\" style=\"border-top: 0px; border-right: 0px; background-image: none; border-bottom: 0px; padding-top: 0px; padding-left: 0px; border-left: 0px; display: inline; padding-right: 0px\" border=\"0\" alt=\"image\" src=\"http:\/\/www.itwriting.com\/blog\/wp-content\/uploads\/2013\/06\/image_thumb11.png\" width=\"404\" height=\"321\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Microsoft\u2019s Herb Sutter spoke at Microsoft Build in San Francisco on the future of C++. Microsoft has been criticised for being slow to implement all the features of ISO C++ 11. Sutter says most features are now included in the public preview of Visual Studio 2013 \u2013 which has a \u201cGo Live\u201d license so you &hellip; <a href=\"https:\/\/www.itwriting.com\/blog\/7493-visual-c-will-implement-all-of-c-11-and-14-some-of-c99-says-microsoft.html\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Visual C++ will implement all of C++ 11 and C++ 14, some of C99 says Microsoft<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26,55,62,67,80,94],"tags":[236,953,955],"class_list":["post-7493","post","type-post","status-publish","format-standard","hentry","category-development","category-microsoft","category-open-source","category-professional","category-software-development","category-visual-studio","tag-c","tag-visual-c","tag-visual-studio"],"_links":{"self":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/posts\/7493","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/comments?post=7493"}],"version-history":[{"count":0,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/posts\/7493\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/media?parent=7493"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/categories?post=7493"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.itwriting.com\/blog\/wp-json\/wp\/v2\/tags?post=7493"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}