The Visual C++ Weekly Vol. 1 Issue 10 (Mar 5, 2011)

The Visual C++ Weekly Vol. 1 Issue 10 (Mar 5, 2011)

  • Comments 10

Read in this issue:

  • Using Tasking to Scale Game Engine Systems
  • C++/CLI IntelliSense in Visual Studio vNext
  • JSON Spirit: A C++ JSON Parser/Generator Implemented with Boost Spirit
  • Determining if a C++ type is convertible to another at compile time
  • Windows 7 Recipe – Taskbar Single Instance
  • Windows Embedded Compact 7 Evaluation Edition
  • Tony Goodhew on Visual C++ Developer Communication
  • Creating Multitouch User Interfaces: The Windows Touch Photostrip Control
  • I'm sad you blindly link to such a sloppy site (which should really be banned from Google's index), where some random dude plagiarizes the work of Andrei Alexandrescu who first evangelized the technique in his old

    CUJ articles demonstrating the technique (also published in his Modern C++ Design book).

    SO! Credits where it's due: here is the original article now on DDJ's web site after they bought CUJ;

    I don't know what to think and what is the most embarrassing:

    - you didn't know about the technique and didn't know about Andrei

    - someone's recycling sloppy posts on sloppy sites from 11/21/08...

    Come one, you're Microsoft, and you're supposed to lead.

  • @Gregory

    What's even more embarrassing is that the guy who copied Alexandrescu's technique did it wrong. In the original solution there's something like:

       typedef char True;

       struct False { char dummy[2]; };

    Which works because sizeof(char) is guaranteed to be 1 and sizeof(False) must be at least 2. On the other hand, the guy has something like:

       struct True { };

       struct False { char x[2]; };

    Which, if works, then only by chance because there are no guarantees as to what sizeof(True) is and it may happen that sizeof(True) == sizeof(False) on some compilers.

  • And what's even more embarrassing is that I'm not able to post a comment on this blog using Opera and have to use IE for that! Come on, Microsoft, it's just silly how hard you try not to support other browsers!

  • Thank you, @Gregory and @RK for the constructive feedback. Let me take responsibility for the mistake (let's not blame MS: I'm the black sheep of the family.) I do know Andrei Alexandrescu and especially his current works in the D Language. I didn't know (surrending here :-) that the mentor of the solution of this puzzle had been him. Thanks for linking the article, @Gregory.

    Dear guys, I'm planning to open this community weekly communication to the community itself. I'll be providing more details in the upcoming days about the submission process, but I'll be anticipating here that we'll receive from recommendations of C++ resources published out there to resources you guys want to share with your colleagues (i.e. a blog post, a newly started C++ open source project looking for contributors, etc). More to come.

    Hi @RK: yes and no. Yes, unfortunately we are not supporting Opera these days (I would say that there are no plans to support it soon). No, it's not true what you say that we don't support other browsers (I can confirm that Firefox is supported and I should ask about Chrome). We are also in a phased conversion process of our sites to the yet in Working Draft HTML5 standard, what means that any browser HTML5-capable (Opera or whatever) should work once the infrastructure of this blog is adapted.

    Guys, thanks again.

  • @Diegum: Thanks for your reply. I was speaking about the fact that Opera used to be not only unsupported, but even deliberately blocked from working by MS (for example, see one of the old MSN cases: It's rather strange that while browsing MSDN with Opera I'm having some problems all the time while other much more sophisticated pages just work. So it's good to hear things are going to change for better, let's hope they will indeed do.

    More on topic, I wonder if pointing people to some non-standard solution is a good idea when there's already is_convertible in TR1 and C++0x. ;-)

  • Dear @RK, thanks again. About the browser issue, I've not much to answer: it's about a competitor accusation (yet to be concealed by an independent instance (i.e. a judge, a jury). I'm neither defending MS nor attacking MS position here. The article itself expresses "that (what Opera alleges) is not necessarily suspicious."

    Back to the topic. You are totally right, @RK. The article approach is relevant only for projects based on earlier versions of TR1).

    Let's keep in touch. I'm working on details in order to make the Weekly a community to community source (for MS development best practices we are working in parallel although our results are to be published in MSDN (typically MSDN Library.) That is part of an ongoing process and we are already working with other teams here at MS (can't tell much details now :-( although we are starting to disclussing the future.

    The Visual C++ Weekly is something I started back in January first as one of the many ways we are re engaging with the community, in response to a claim the community was making about a lot of MSDN strength on .NET and little on native. You may have noticed a growth in blog posts here, new videos posted in Channel9, some announcements made about C++/CLI IntelliSense and there's way more coming up. The weekly intends to be a sort of wrap up mixing MS news, partner articles (you may noticed some Intel articles there), community blogs -that I want to inspire you guys, especially those who are already blogging- that present different approaches to get some goal.

  • @Diegum: I don't want to complain only ;-) so I must also say that I'm really glad that this blog is getting more lively and I think that Visual C++ Weekly has been a very good idea.

    One thing that's intriguing me the most and that I'd love to learn about is the future of C++/CLI. It is really a beutifully crafted language and treating it as "interop glue" only is such a waste. Yet there is some room for improvement, especially considering that it's now a bit behind both C++0x and CLI. Could you guys share even a little bit of plans on it in the near future?

  • Hi @RK, for the moment just a good news about C++/CLI renewal: you are not the only one asking MS to do something about. If you take a look to the thread started at the end of the C++/CLI IntelliSense comeback announcement ( ), you'll find that your wish seems to be share by almost everybody else.

    I'm contacting the rest of the team about this issue, in order to have an official answer about this. Thank you, @RK!

  • @Diegum: now as VC 2010 SP1 is out: is it supported to compile C++ projects (which use vc runtime dlls) with SP1 and ship the executables to computers which only have the RTM version of the runtime dlls installed?

    With VC 2008 and the runtime manifests you had to specify some defines to choose RTM or SP1. Do we need to care about similar stuff with 2010 RTM and SP1?

  • Hi @EinmalIM,

    In VC2010, the user can no longer specify whether to bind to RTM or SP1. Whatever on the machine is what will get loaded. However, the user should make sure she/he ships the same CRT that was used during the test.

Page 1 of 1 (10 items)