Loading User Information from Channel 9
Something went wrong getting user information from Channel 9
Loading User Information from MSDN
Something went wrong getting user information from MSDN
Loading Visual Studio Achievements
Something went wrong getting the Visual Studio Achievements
David LeBlanc: Inside SafeInt
Jun 19, 2009 at 6:00 PMHi sokhaty,
A book I really like on C++ templates is: C++ Templates: The Complete Guide (Hardcover), by David Vandevoorde, Nicolai M. Josuttis
Also, the classic Effective STL, by Scott Meyers is another great book.
David also suggests: STL Tutorial and Reference Guide, by David R. Musser, Gillmer J. Derge, Atul Saini.
HTH, and glad you liked the video!
Ale Contenti
VC++ Dev Lead.
Kate Gregory, Ale Contenti and Steve Teixeira: VC++ 2008 and Beyond
Nov 28, 2007 at 12:14 PMYou 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!
HTH, ale.
Ale Contenti and Louis Lafreniere: Understanding Exceptions and When/How to Handle Them
Sep 27, 2007 at 7:42 PMAle Contenti and Louis Lafreniere: Understanding Exceptions and When/How to Handle Them
Sep 24, 2007 at 11:44 PMabout 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 here
And how do you get your Watson dumps? It's pretty easy (special thx to Jason Hardester for the info):
Go to https://winqual.microsoft.com and:
1. Establish a company account on Winqual
2. Sign (online click through) the WER TOU agreement
3. Map your files using APPMAP.exe
Ale (see you in Barcelona
)
Ale Contenti: VC++ Safe Libraries and More
Jul 02, 2007 at 12:36 AMHi 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 http://www.erdani.org/publications/cuj-2005-12.pdf) and one from Scott Meyers (When C++ Hits the Hardware, http://www.aristeia.com/short-courses.html#wchth) 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
). 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 (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?
Thx for your comments!
Ale Contenti
VC++ Libraries Dev Lead