Channel 9 Video: Stephan T. Lavavej - Everything you ever wanted to know about nullptr

Channel 9 Video: Stephan T. Lavavej - Everything you ever wanted to know about nullptr

  • Comments 9

Stephan T. Lavavej is back in front of the Channel 9 cameras once again for a discussion on our recently implemented C++0x feature “nullptr”. In a previous channel 9 appearance, Stephan spoke about the C++0x language and library features we were implementing for VS2010  and the various interdependencies between various features (for example, how rvalue references – a language feature – enable move semantics and perfect forwarding in our Standard Template Library implementation – a library feature.) In this video Stephan describes how rvalue references exposed a few loopholes in the C++ type system around the NULL macro (or more specifically around the value of the NULL macro, the integer constant 0, and how this value is treated “differently” by the compiler to other integer constants.) The issue had already been identified by the C++ Language Committee and a solution had been added to the C++0x language specification (the aforementioned “nullptr”). And to add even more good news, customers can see and use this feature (and all our other C++0x Features) in the Visual Studio 2010 Beta 2 which was released this week.  We hope you enjoy Stephan’s latest theatrical release.




Leave a Comment
  • Please add 3 and 8 and type the answer here:
  • Post
  • If keywords from VC++ 2005 are "recently implemented", then what do you call work on the C++0x stuff that wasn't borrowed from C++/CLI?

  • Hello Ben

    Sorry I do not understand your question? nullptr from C++0x is brand new, “nullptr” for C++/CLI  (unfortunately the same keyword – syntax – but with a different meaning – semantics) has been in C++/CLI for a couple of release now. Does this in any way your question?  



  • I don't understand why you can't just use #pragma managed/unmanaged around nullptr and that would give you whichever one you wanted.

  • I noticed that beta2 broke a few std templates where NULL is no longer a valid value for pointer types (ie. std::pair<int, void*>(0, NULL)).

  • ... just what Stephan talks about on the video, I should have watched it first :)

  • I filed my comment to connect, it's too long, doesn't fit in here...

    I noticed such discussion has already begun at the "beta 2 released" thread, hopefully I'm not too late to talk about this.

  • I've seen recently a lot of developers reporting a quite negative experience with reporting bugs on Microsoft Connect, and I am myself no stranger to the frustration of seeing a carefully prepared report for a feature-crippling bug being labeled as "can't repro" or "won't fix".

    Maybe you could post here about your QA process and the principles and guidelines you follow regarding bug reports on beta and on released versions. I believe at the moment many developers have given up reporting anything on Connect, or even using it as a ressource to find solutions.

    some recent threads on CodeProject:

  • @ peterchen,

    Thank you for the suggestion, this will be kept in mind for future posts.

    Visual C++ Team

  • I just wanted to thank Microsoft for free access to programming tools.  I think Microsoft would benefit tremendously from a MIT.EDU open university type program.  1st it would create new programming using Microsoft OS. 2nd it would keep a grass roots interest in Microsoft, building further goodwill for the company.  3rd it would unlease the pent-up creativity of hundreds of thousands of good law abiding citizens, who create not for profit, but for the goal of expressing themselves.  

Page 1 of 1 (9 items)