<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" media="screen" href="/styles/xslt/rss.xslt"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:c9="http://channel9.msdn.com">
<channel>
	<title>Comment Feed for MichaelPrice</title>
	<atom:link rel="self" type="application/rss+xml" href="http://channel9.msdn.com/Niners/MichaelPrice/Comments/RSS"></atom:link>
	<image>
		<url>http://mschnlnine.vo.llnwd.net/d1/Dev/App_Themes/C9/images/feedimage.png</url>
		<title>MichaelPrice</title>
		<link></link>
	</image>
	<description></description>
	<link></link>
	<language>en</language>
	<pubDate>Sat, 18 May 2013 09:28:31 GMT</pubDate>
	<lastBuildDate>Sat, 18 May 2013 09:28:31 GMT</lastBuildDate>
	<generator>Rev9</generator>
	<item>
		<title>Re: The Future of C++</title>
		<description>
			<![CDATA[<p>Just to clear it up, this will be broadcast live? &nbsp;On this page or on some other one?</p><p>posted by MichaelPrice</p>]]>
		</description>
		<link>http://channel9.msdn.com/Events/Build/2012/2-005#c634874652669257488</link>
		<pubDate>Fri, 02 Nov 2012 15:01:06 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Events/Build/2012/2-005#c634874652669257488</guid>
		<dc:creator>MichaelPrice</dc:creator>
	</item>
	<item>
		<title>Re: Day 2 Keynote - Herb Sutter: C++11, VC++11 and Beyond</title>
		<description>
			<![CDATA[<p>@<a href="/Events/GoingNative/GoingNative-2012/C-11-VC-11-and-Beyond#c634656532466114421">Charles</a>: Yep, ended up seeing it in his Twitter feed about 8:00 PM last night!</p><p>posted by MichaelPrice</p>]]>
		</description>
		<link>http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/C-11-VC-11-and-Beyond#c634656976001606875</link>
		<pubDate>Fri, 24 Feb 2012 16:26:40 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/C-11-VC-11-and-Beyond#c634656976001606875</guid>
		<dc:creator>MichaelPrice</dc:creator>
	</item>
	<item>
		<title>Re: Day 2 Keynote - Herb Sutter: C++11, VC++11 and Beyond</title>
		<description>
			<![CDATA[<p>Charles, Herb, or Stephan:</p><p>I've been anticipating a Beta release of VS11 for weeks now... and we are rapidly nearing the end of February. &nbsp;Is a February Beta release still going to happen?</p><p>posted by MichaelPrice</p>]]>
		</description>
		<link>http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/C-11-VC-11-and-Beyond#c634656205800221355</link>
		<pubDate>Thu, 23 Feb 2012 19:03:00 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/C-11-VC-11-and-Beyond#c634656205800221355</guid>
		<dc:creator>MichaelPrice</dc:creator>
	</item>
	<item>
		<title>Re: C&amp;B 2011 Panel: Herb Sutter, Andrei Alexandrescu and Scott Meyers - C++11</title>
		<description>
			<![CDATA[<p>@<a href="/Shows/Going&#43;Deep/C-and-Beyond-2011-C11-Panel-Scott-Meyers-Andrei-Alexandrescu-and-Herb-Sutter#c634535720675910465">Waldemar Pawlaszek</a>: Isn't it the job of the class with the non-public constructor to define who it's friends are? If he would like for someone to be able to make shared_ptrs to him, then he can have make_shared be a friend function or he can just have a</p><p><pre class="brush: cpp">template &lt;typename ... Params&gt;
static shared_ptr&lt;Me&gt; make_shared (Params &amp;&amp; ... params)
{
    // call to std::make_shared here...
}</pre></p><p>posted by MichaelPrice</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/C-and-Beyond-2011-C11-Panel-Scott-Meyers-Andrei-Alexandrescu-and-Herb-Sutter#c634535996133126051</link>
		<pubDate>Fri, 07 Oct 2011 15:53:33 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/C-and-Beyond-2011-C11-Panel-Scott-Meyers-Andrei-Alexandrescu-and-Herb-Sutter#c634535996133126051</guid>
		<dc:creator>MichaelPrice</dc:creator>
	</item>
	<item>
		<title>Re: C&amp;B 2011 Panel: Herb Sutter, Andrei Alexandrescu and Scott Meyers - C++11</title>
		<description>
			<![CDATA[<p></p><blockquote><div class="quoteText"><p></p><p><a class="permalink" title="Comment Permalink" href="/Shows/Going&#43;Deep/C-and-Beyond-2011-C11-Panel-Scott-Meyers-Andrei-Alexandrescu-and-Herb-Sutter#c634534506740223406">17 hours&nbsp;ago</a>, <a href="/Niners/new2STL">new2STL</a> wrote</p><p>@<a href="/Shows/Going&#43;Deep/C-and-Beyond-2011-C11-Panel-Scott-Meyers-Andrei-Alexandrescu-and-Herb-Sutter#c634534425694397727">Philhippus</a>: C&amp;B2011 take place before the finalizing of the standard, I think they are talking about what Stephan called lambdas v1.1 (in reference to some last minute revision on decltype), I'm not the right person to answer it anyway but hope helped.</p><p></p></div></blockquote><p></p><p>While the standard had not been voted on at the point that C&amp;B2011 took place (it was unanimously approved a few days later), it's content had been all but frozen since early summer, particularly the language surrounding lambdas.&nbsp; Although I have yet to hear Scott's actual comment, my guess would be that he is ribbing Herb about the lack of &quot;polymorphic lambdas&quot;; the idea that lambdas should be able to infer the types of their parameters instead of being explicit in the lambda declaration.</<p>posted by MichaelPrice</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/Going+Deep/C-and-Beyond-2011-C11-Panel-Scott-Meyers-Andrei-Alexandrescu-and-Herb-Sutter#c634535134742445599</link>
		<pubDate>Thu, 06 Oct 2011 15:57:54 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/Going+Deep/C-and-Beyond-2011-C11-Panel-Scott-Meyers-Andrei-Alexandrescu-and-Herb-Sutter#c634535134742445599</guid>
		<dc:creator>MichaelPrice</dc:creator>
	</item>
	<item>
		<title>Re: GoingNative Live at BUILD: Herb Sutter, Joanna Mason, Tony Goodhew</title>
		<description>
			<![CDATA[<p>I'm taken back by the vitriol in many posts about C&#43;&#43;.&nbsp; I love C&#43;&#43; as much as the next guy (or I thought I did), but the fact that Microsoft will not have completed any significant features of C&#43;&#43;11 (beyond what was in VC10) is not the end of the world.</p><p>I am very disappointed, but I also understand why it has happened.&nbsp; If Microsoft cannot get Metro launched with great success, then Microsoft will be in for a rough time over the next 5 years.&nbsp; It is a testament of the power of C&#43;&#43; that they came back to native in order to ensure the success of this platform.</p><p>Sure, MS could have done a better job of managing their product backlog (suspending variadic work at the first sign of trouble for instance), but they didn't, which means that they can learn from this.&nbsp; If anything, it seems like there is a push (probably thanks to Herb) to reduce the amount of time between release of new compiler features because of this failure.&nbsp; THIS IS A GOOD THING!!!</p><p>Advice for the trolls: How about you worry about your own feature set and shipping on time instead of needlessly attacking someone who is improving a broken system from the inside?</p><p>posted by MichaelPrice</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-Live-at-BUILD-Herb-Sutter-Joanna-Mason-Tony-Goodhew#c634529884197289422</link>
		<pubDate>Fri, 30 Sep 2011 14:06:59 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-Live-at-BUILD-Herb-Sutter-Joanna-Mason-Tony-Goodhew#c634529884197289422</guid>
		<dc:creator>MichaelPrice</dc:creator>
	</item>
	<item>
		<title>Re: C++ and Beyond 2011: Benedict Gaster on C++11, C++ AMP, C++ Renaissance</title>
		<description>
			<![CDATA[<p>@<a href="/posts/C-and-Beyond-2011-Ben-Gaster#c634504286780000000">Ian</a>: I disagree.&nbsp; Example (please ignore the poor memory management in the example):</p><p><pre class="brush: cpp">class Base
{
public:
    void X () { cout &lt;&lt; &quot;Base&quot; &lt;&lt; endl; }

protected:
    Base() { }
};

class Derived : public Base
{
public:
    Derived() { }

    void X () { cout &lt;&lt; &quot;Derived&quot; &lt;&lt; endl; } // Hides Base::X
};

 Base * getObject() { return new Derived; }
// Refactor ^ into V
//Derived * getObject() { return new Derived; }

int main ()
{
    auto aobj = getObject();
    aobj-&gt;X();

    Base * bobj = getObject();
    bobj-&gt;X();
}</pre></p><p>By refactoring some code, you get very different behavior (perhaps unexpected) in the using code that uses 'auto'.</p><p>IMO, 'auto' usage is appropriate under two scenarios (particularly where the two scenarios overlap):</p><p>1) Extremely long type name that is not frequently used within a particular scope.&nbsp; If you use the type more than once or twice, consider a typedef instead.&nbsp; This should be a rare usage.</p><p>2) Code that is likely to survive a refactor, such as swapping out a std::list and a std::vector.</p><p>These two overlap iterating over a container, which *should* the the predominant usage of 'auto' (see range-based for-loop for an example).</p><p>posted by MichaelPrice</p>]]>
		</description>
		<link>http://channel9.msdn.com/posts/C-and-Beyond-2011-Ben-Gaster#c634504973790000000</link>
		<pubDate>Thu, 01 Sep 2011 18:09:39 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/posts/C-and-Beyond-2011-Ben-Gaster#c634504973790000000</guid>
		<dc:creator>MichaelPrice</dc:creator>
	</item>
	<item>
		<title>Re: GoingNative 1: VC++ vNext, CRT, C++ and Beyond</title>
		<description>
			<![CDATA[<p></p><blockquote><div class="quoteText"><p></p><p><a class="permalink" title="Comment Permalink" href="/Shows/C9-GoingNative/GoingNative-1-VC-vNext-CRT-C-and-Beyond#c634502651850000000">1 day&nbsp;ago</a>,<a href="/Niners/STL">STL</a> wrote</p><p>[MichaelPrice]<br>&gt; What is up with that range-for snippet?&nbsp; The snippet should read:<br>&gt; for (object var : collection_to_loop) { }<br>&gt; instead of<br>&gt; for each (object var in collection_to_loop) { }</p><p>&quot;for each&quot; is an old non-Standard extension. I recommend against using it (as it's generating weird code that can't be used to mutate elements in place). Either &quot;for (auto i = v.begin(); i != v.end(); &#43;&#43;i)&quot; or &quot;std::for_each(v.begin(), v.end(), lambda)&quot; are superior.</p><p>Note that the C&#43;&#43;11 range-based for-loop (which is not implemented in VC10; when it is implemented, it will not be vulnerable to the non-Standard &quot;for each&quot; extension's problems, because C&#43;&#43;11 has carefully specified it) is best used as either &quot;for (auto&amp; e : v)&quot; or &quot;for (const auto&amp; e : v)&quot; which loops over elements in-place (and permits modification if you wish). &quot;for (auto e : v)&quot; will copy elements, and cannot modify elements in-place.</p><p></p></div></blockquote><p></p><p>I wonder if there will be room in the C&#43;&#43; snippets to generate the byref and byconstref patterns.&nbsp; Picking a &quot;default&quot; pattern could be a very risky move...</p><p>However, if I had to vote for a default, it would be for (const object &amp; var : collection_to_loop) as it is the &quot;safest&quot; pattern.</p><p>Also, I agree about std::for_each... Let the library do the hard thinking (and possibly optimization) for you.</p><p>posted by MichaelPrice</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-1-VC-vNext-CRT-C-and-Beyond#c634504034090000000</link>
		<pubDate>Wed, 31 Aug 2011 16:03:29 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-1-VC-vNext-CRT-C-and-Beyond#c634504034090000000</guid>
		<dc:creator>MichaelPrice</dc:creator>
	</item>
	<item>
		<title>Re: GoingNative 1: VC++ vNext, CRT, C++ and Beyond</title>
		<description>
			<![CDATA[ <p>@<a href="/Shows/C9-GoingNative/GoingNative-1-VC-vNext-CRT-C-and-Beyond#c634499733670000000">Charles</a>: Well technically (with the appropriate cajoling), you can call a destructor manually.&nbsp; It's just typically a really bad idea.</p><p>I've had to do it before in the case where we didn't want to link the to the CRT.&nbsp; Unfortunately, the CRT handles calling constructors and destructors of global statics.&nbsp; So, we had to hand-roll the code to call those guys ourselves.</p><p>posted by MichaelPrice</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-1-VC-vNext-CRT-C-and-Beyond#c634499772140000000</link>
		<pubDate>Fri, 26 Aug 2011 17:40:14 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-1-VC-vNext-CRT-C-and-Beyond#c634499772140000000</guid>
		<dc:creator>MichaelPrice</dc:creator>
	</item>
	<item>
		<title>Re: GoingNative 1: VC++ vNext, CRT, C++ and Beyond</title>
		<description>
			<![CDATA[ <p>@<a href="/Shows/C9-GoingNative/GoingNative-1-VC-vNext-CRT-C-and-Beyond#c634499062380000000">Charles</a>: Oh, and you are correct, clang is definitely behind gcc in terms of C&#43;&#43;11 implementation.&nbsp; However, the rate of adoption in clang has been much faster over the past 3-4 months than it ever was for gcc (of course gcc has most of it implemented now, so it has naturally slowed down.&nbsp; gcc had the benefit of a few extra years of development before clang really got C&#43;&#43;03 fully implemented.</p><p>If you cannot tell, I'm a fan of clang (although I primarily work in VC&#43;&#43;).</p><p>posted by MichaelPrice</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-1-VC-vNext-CRT-C-and-Beyond#c634499667440000000</link>
		<pubDate>Fri, 26 Aug 2011 14:45:44 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-1-VC-vNext-CRT-C-and-Beyond#c634499667440000000</guid>
		<dc:creator>MichaelPrice</dc:creator>
	</item>
	<item>
		<title>Re: GoingNative 1: VC++ vNext, CRT, C++ and Beyond</title>
		<description>
			<![CDATA[ <p>@<a href="/Shows/C9-GoingNative/GoingNative-1-VC-vNext-CRT-C-and-Beyond#c634499062380000000">Charles</a>:&nbsp;<a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/www/cxx_status.html#rev130953">http&#58;&#47;&#47;llvm.org&#47;viewvc&#47;llvm-project&#47;cfe&#47;trunk&#47;www&#47;cxx_status.html&#35;rev130953</a></p><p>As of revision 130953 committed on May 5, 2011, clang definitely claims to.&nbsp; I haven't tried writing code against it though.</p><p>posted by MichaelPrice</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-1-VC-vNext-CRT-C-and-Beyond#c634499664970000000</link>
		<pubDate>Fri, 26 Aug 2011 14:41:37 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-1-VC-vNext-CRT-C-and-Beyond#c634499664970000000</guid>
		<dc:creator>MichaelPrice</dc:creator>
	</item>
	<item>
		<title>Re: GoingNative 1: VC++ vNext, CRT, C++ and Beyond</title>
		<description>
			<![CDATA[ <p>What is up with that range-for snippet?&nbsp; The snippet should read:</p><p>for (object var : collection_to_loop) { }</p><p>instead of</p><p>for each (object var in collection_to_loop) { }</p><p>see <a href="http://en.wikipedia.org/wiki/C%2B%2B0x#Range-based_for-loop">http&#58;&#47;&#47;en.wikipedia.org&#47;wiki&#47;C&#37;2B&#37;2B0x&#35;Range-based_for-loop</a></p><p>&nbsp;</p><p>Also, the one C&amp;B attendees comment about lack of support for template aliasing in compilers.... Clang (at least top-of-tree) had it before the conference started.</p><p>posted by MichaelPrice</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-1-VC-vNext-CRT-C-and-Beyond#c634499033200000000</link>
		<pubDate>Thu, 25 Aug 2011 21:08:40 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-1-VC-vNext-CRT-C-and-Beyond#c634499033200000000</guid>
		<dc:creator>MichaelPrice</dc:creator>
	</item>
	<item>
		<title>Re: GoingNative 0: Help us fly this plane, Some modern C++, Meet Ale Contenti</title>
		<description>
			<![CDATA[<p></p><blockquote><div class="quoteText"><p></p><p>@<a href="/Shows/C9-GoingNative/GoingNative-0-Help-us-fly-this-plane-Some-modern-C-Meet-Ale-Contenti%23c634474442559273053">Alex C</a>:See the<a href="http://channel9.msdn.com/Shows/Going&#43;Deep/C9-Lectures-Stephan-T-Lavavej-Advanced-STL-1-of-n" target="_blank">GoingDeep::Advanced_STL_1</a>, its about <em>shared_ptr</em>, also the videos from introductory series are worth to be seen<img src="http://ecn.channel9.msdn.com/o9/content/images/emoticons/emotion-5.gif?v=c9" alt="Wink"></p><p></p></div></blockquote><p></p><p>I think that &quot;Alex C&quot; was reading &quot;MyType ^ ptr0&quot; instead of &quot;MyType * ptr0&quot;.&nbsp; The first is potentially valid if MyType was a CLR type and we were compiling with the C&#43;&#43;/CLI switch (/clr).&nbsp; Thus his use of the term &quot;handle&quot; and &quot;plain C&#43;&#43; pointer&quot;.</p><p>posted by MichaelPrice</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-0-Help-us-fly-this-plane-Some-modern-C-Meet-Ale-Contenti#c634475694750000000</link>
		<pubDate>Fri, 29 Jul 2011 20:51:15 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-0-Help-us-fly-this-plane-Some-modern-C-Meet-Ale-Contenti#c634475694750000000</guid>
		<dc:creator>MichaelPrice</dc:creator>
	</item>
	<item>
		<title>Re: GoingNative 0: Help us fly this plane, Some modern C++, Meet Ale Contenti</title>
		<description>
			<![CDATA[<p></p><blockquote><div class="quoteText"><p></p><p><a class="permalink" title="Comment Permalink" href="/Shows/C9-GoingNative/GoingNative-0-Help-us-fly-this-plane-Some-modern-C-Meet-Ale-Contenti#c634474442550000000">1 day&nbsp;ago</a></p><p>On the code example at 7min 22s, why are you using a handle to object instead of a plain C&#43;&#43; pointer?</p><p></p></div></blockquote><p></p><p>The screen resolution makes the asterisk look like a caret.</p><p>posted by MichaelPrice</p>]]>
		</description>
		<link>http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-0-Help-us-fly-this-plane-Some-modern-C-Meet-Ale-Contenti#c634475692450000000</link>
		<pubDate>Fri, 29 Jul 2011 20:47:25 GMT</pubDate>
		<guid isPermaLink="true">http://channel9.msdn.com/Shows/C9-GoingNative/GoingNative-0-Help-us-fly-this-plane-Some-modern-C-Meet-Ale-Contenti#c634475692450000000</guid>
		<dc:creator>MichaelPrice</dc:creator>
	</item>
</channel>
</rss>