{"id":3493,"date":"2011-02-01T14:59:00","date_gmt":"2011-02-01T14:59:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/vcblog\/2011\/02\/01\/pdc-2010-lambdas-lambdas-everywhere\/"},"modified":"2021-10-06T10:43:19","modified_gmt":"2021-10-06T10:43:19","slug":"pdc-2010-lambdas-lambdas-everywhere","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cppblog\/pdc-2010-lambdas-lambdas-everywhere\/","title":{"rendered":"PDC 2010: Lambdas, Lambdas Everywhere"},"content":{"rendered":"<p><a href=\"http:\/\/bit.ly\/bZwZvk\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"margin: 0px 5px 0px 0px; padding-left: 0px; padding-right: 0px; float: left; padding-top: 0px; border: 0px;\" title=\"Herb Sutter on Lambdas\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/02\/7128.image_3BCECE55.png\" alt=\"Herb Sutter on Lambdas\" width=\"244\" height=\"244\" align=\"left\" border=\"0\" \/><\/a><\/p>\n<p>Why care about C++0x lambda functions? Syntactically, they are nothing but sugar for function objects. However, they are an essential and enabling sugar that will change the way we will write C++ code more often than most people realize.<\/p>\n<p><a href=\"http:\/\/bit.ly\/bZwZvk\" target=\"_blank\" rel=\"noopener\">This talk<\/a> from last PDC covers what lambda functions are and how to use them effectively, including how lambdas touch many wide-ranging kinds of code \u2014 from their convenience when writing <strong>concurrent<\/strong> and <strong>scalably parallel<\/strong> code, to how they stand to revolutionize <strong>STL usability and programming<\/strong>, to how they enable such small conveniences as <strong>local functions<\/strong> and <strong>local variable initialization<\/strong>.<\/p>\n<p>Note that lambda functions, although futuristic, are not a far-future feature. They are available today in several shipping C++ compilers, including Intel C++ 11, Microsoft Visual Studio 2010, and gcc 4.5. The future is now. Come find out how this powerful feature affects you and your code.<\/p>\n<p>Herb Sutter is the chair of the ISO C++ committee. He is responsible for the design of lambda functions in Visual C++ 2010 and their integration in the Parallel Patterns Library. He is partly responsible for the design of lambda functions in the C++0x standard, notably capture defaults and final syntax.<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/bit.ly\/bZwZvk\" target=\"_blank\" rel=\"noopener\"><strong>Click here to start watching this session<\/strong><\/a> (Silverlight required, check below for other formats.)<\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/02\/6204.image_7F5659AA.png\"><img decoding=\"async\" class=\"size-full wp-image-29300 aligncenter\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/02\/6204.image_7F5659AA.png\" alt=\"Image 6204 image 7F5659AA\" width=\"484\" height=\"364\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/02\/6204.image_7F5659AA.png 484w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/02\/6204.image_7F5659AA-300x226.png 300w\" sizes=\"(max-width: 484px) 100vw, 484px\" \/><\/a><em>Session agenda<\/em><\/p>\n<p class=\"materialHeader\">\n<p class=\"materialHeader\">Download Materials<\/p>\n<ul>\n<li><a href=\"http:\/\/az8714.vo.msecnd.net\/presentations\/FT13-Sutter.pptx\" target=\"_blank\" rel=\"noopener\"><span style=\"color: #b2b2b2;\">Lambdas, Lambdas Everywhere (.PPTX)<\/span><\/a>\n<p class=\"ContentDescription\">\n<\/li>\n<li><a href=\"http:\/\/videoaz.microsoftpdc.com\/vod\/pdc10_pre_event\/ShowContent_VOD\/FT13_HerbSutter_PDC_MP4_High_1280x720_2500k.mp4\" target=\"_blank\" rel=\"noopener\"><span style=\"color: #b2b2b2;\">MP4 High<\/span><\/a>\n<p class=\"ContentDescription\">\n<\/li>\n<li><a href=\"http:\/\/videoaz.microsoftpdc.com\/vod\/pdc10_pre_event\/ShowContent_VOD\/FT13_HerbSutter_PDC_MP4_Low_device_480x272_750k.mp4\" target=\"_blank\" rel=\"noopener\"><span style=\"color: #b2b2b2;\">MP4 Low<\/span><\/a>\n<p class=\"ContentDescription\">\n<\/li>\n<li><a href=\"http:\/\/videoaz.microsoftpdc.com\/vod\/pdc10_pre_event\/ShowContent_VOD\/FT13_HerbSutter_PDC_WMV_High_1280x720_2500k.wmv\" target=\"_blank\" rel=\"noopener\"><span style=\"color: #b2b2b2;\">WMV High<\/span><\/a>\n<p class=\"ContentDescription\">\n<\/li>\n<li><a href=\"http:\/\/videoaz.microsoftpdc.com\/vod\/pdc10_pre_event\/ShowContent_VOD\/FT13_HerbSutter_PDC_WMV_Low_640x360_1000k.wmv\" target=\"_blank\" rel=\"noopener\"><span style=\"color: #b2b2b2;\">WMV Low<\/span><\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Why care about C++0x lambda functions? Syntactically, they are nothing but sugar for function objects. However, they are an essential and enabling sugar that will change the way we will write C++ code more often than most people realize. This talk from last PDC covers what lambda functions are and how to use them effectively, [&hellip;]<\/p>\n","protected":false},"author":293,"featured_media":35994,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[100,76,85,80,32],"class_list":["post-3493","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cplusplus","tag-c-language","tag-c0x","tag-lambdas","tag-parallelism","tag-stl"],"acf":[],"blog_post_summary":"<p>Why care about C++0x lambda functions? Syntactically, they are nothing but sugar for function objects. However, they are an essential and enabling sugar that will change the way we will write C++ code more often than most people realize. This talk from last PDC covers what lambda functions are and how to use them effectively, [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/3493","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/users\/293"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/comments?post=3493"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/3493\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media\/35994"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media?parent=3493"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/categories?post=3493"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/tags?post=3493"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}