Ale Contenti: VC++ Safe Libraries and More

Play Ale Contenti: VC++ Safe Libraries and More

The Discussion

  • User profile image
    more c++ Smiley
  • User profile image
    I work for a games development studio. In my team the core engine group, some of the upper management dislike STL for the following reasons and c++ in general (they only use a small subset of c++ features such as function overloading etc):

    policy is code non grata. reasons are code bloat, reliance on advanced compiler features, debug build performance, memory allocation patterns, complexity of code, and that it's a loaded gun for less experienced coders.

    Others on the team have worked with STL effectively on previous projects however, by using custom allocators. Especially for things like strings, where the thing will fragment like hell if you don't.

    Also problems I have found is that different STL implementations on non-microsoft based platforms in the past have been less than optimal, and it very much changes on a per platform basis. The reality is when your working at a game studio, some console providers don't have the great support Microsoft do with tools etc.
  • User profile image

    Hi lantree,

    I agree with you. I really think C++ in general (and STL as an example of a powerful C++ library) has a lot to offer in environment like the one you work on. You just mention one great example when talking about custom allocators for memory management.

    Few other languages let you control memory in such a fine, elegant and expansible way. Reading your post, I remembered one talk from Alexandrescu (Chromed Metal: C++ Idioms that Are Safe and Fast, I guess this paper covers some of it and one from Scott Meyers (When C++ Hits the Hardware, which describe interesting solutions.

    As we say in the video, C++ is powerful and somewhat dangerous, in the sense that it lets you do a lot of things (and some bad things as well, if you're not careful Wink). With checked iterators, we tried to make the iterators less dangerous, without sacrifying performance.

    I'd like to hear from you more specific scenarios where we could do a better job in harnessing the power of C++. Do you need some pre-packaged allocator to simplify memory management? Do you need tools to measure code bloat? Please let us know!

    One question: What do you mean with code complexety? You mean code complexity in the STL itself, or using it?

    Unfortunately, we can't control the STL implementations of other vendors. Anyway, please note that we get our STL implementation from dinkumware (, and they support more platform than VC++ does, I believe. Also, let us know which platform you need support on... you never know... (maybe we have a compiler in the box you can use... Smiley)

    And have you tried using VC++ IDE to drive your compilers?

    Thx for your comments!

    Ale Contenti
    VC++ Libraries Dev Lead

  • User profile image
    Damien Watkins


    Ale and Louis (Lafreniere) recently recorded the follow-up channel 9 video to this one - Ale Contenti and Louis Lafreniere: Understanding Exceptions and When/How to Handle Them, you can view the video at:

    Thanks Damien

Add Your 2 Cents