quote:
Original post by Dire.Wolf
Daveb, null_pointer and others show tact and intelligence when they post. When they offer their opinions they also tend to back them up with facts. Unfortunately you do not and therefore are just wasting space in this thread.
How long have you been in the software development industry?
Long enough to know that software development needs to become an engineering discipline in order to meets the demands of reliability customers need.
(In response to your last statement...)
For someone who''s programmed in C++ for 8 years, you know very little about getting templatized assignment operators to work, when you have the STL source for the auto_ptr template (which performs the exact assignment operator you wanted to write). Which, I guess, is proof enough of your grand experience.
I guess I should apologize; I saw your initial post and assumed that you were another hapless newbie that saw the coolness of templates and simply did not understand how to use them properly.
But, since you wanted some further proof that I know what I''m talking about, here goes.
First, you can''t export many of the STL container classes in a .DLL on the Win32 platform on some compiling configurations because each references a different memory allocator, and as such, a different heap. Freeing one object on a different heap will crash the program. Unfortunately, C++ programmers try this all the time, only to bitch and moan when it doesn''t work.
Or how about where does the vtable go when you have a class defined completely in a header file? It can pop-up in all the object files it''s included in since it has no implementation file.
Or why calls to virtual function calls in constructors always call the current class''s implementation rather than the most derived class''s implementation, due to vtable initialization at each constructor.
Or you can eliminate temporaries from arithmentic operator overloading by providing proxy classes (as is done in the blitz++ library) even for matrix multiplication. (BTW, this is tremendously easier with template template parameters.)
Or why the remove(_if) functions do not actually remove anything from an STL container. (This preserve the semantics of the STL exception safety guarentees. If an exception were thrown while removing objects from the container it would be impossible to roll back the operation, unless you don''t remove the objects in the first place.)
Or why for_each is documented as to never modify the container it operates on. (You can, however, this would also violate STL exception safety guarentees for for_each.)
I know what I''m talking about when it comes to C++.
MSN