You don't always need a garbage collector to get a simple memory resource management
For example, if you extensively use smart pointers like tr1::shared_ptr, you can safely manage memory with familiar C++ concepts (like for example determistic destruction).
With tr1::shared_ptr, you call new() once and you don't need to worry about calling delete to release the memory. The smart pointer will take care of releasing the memory when the reference count goes to 0.
tr1::shared_ptr is part of the TR1 addition to the Standard C++ Libraries. TR1 will be released on top of VC++ 2008 very soon. Check out
vcblog for more info on this!
about the last question on CreateThread vs. _beginthread, the C++ runtime DLL will take care of creating the PTD (per-thread-data) slot and associating it with the thread. Check the code in DLL_THREAD_ATTACH in the CRT DllMain.
Like Louis says, it is better to use _beginthread, but CreateThread will work anyway.
Also, during the video I mentioned Herb's book "C++ Coding Standards: 101 Rules, Guidelines, and Best Practices" (link
And how do you get your Watson dumps? It's pretty easy (special thx to Jason Hardester for the info):
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.
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 ). With checked iterators, we tried to make the iterators less dangerous, without sacrifying
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 (www.dinkumware.com), 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... )
And have you tried using VC++ IDE to drive your compilers?