{"version":"1.0","provider_name":"C++ Team Blog","provider_url":"https:\/\/devblogs.microsoft.com\/cppblog","author_name":"Visual CPP Team","author_url":"https:\/\/devblogs.microsoft.com\/cppblog\/author\/vcblog\/","title":"Channel 9: VC++ Safe Libraries and More - C++ Team Blog","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"vuIISd3IN3\"><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/channel-9-vc-safe-libraries-and-more\/\">Channel 9: VC++ Safe Libraries and More<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/channel-9-vc-safe-libraries-and-more\/embed\/#?secret=vuIISd3IN3\" width=\"600\" height=\"338\" title=\"&#8220;Channel 9: VC++ Safe Libraries and More&#8221; &#8212; C++ Team Blog\" data-secret=\"vuIISd3IN3\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script type=\"text\/javascript\">\n\/* <![CDATA[ *\/\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n\/\/# sourceURL=https:\/\/devblogs.microsoft.com\/cppblog\/wp-includes\/js\/wp-embed.min.js\n\/* ]]> *\/\n<\/script>\n","thumbnail_url":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2018\/08\/cplusplusfeature.png","thumbnail_width":558,"thumbnail_height":350,"description":"Our Channel 9 season continues, this time with a video featuring Ale Contenti, Senior Development Lead on the VC++ libraries team. Much of Ale&rsquo;s recent work has been on the Safe Libraries (for example, the Safe CRT). Here Ale talks about making the STL safer and goes deep explaining how checked and unchecked iterators work [&hellip;]"}