This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

OT Rant on why C++ Sucks (Was Re: strict aliasing: how to swap pointers)


Rupert Wood wrote:
Evan Jones wrote:

I have a function to swap any two pointers (assuming that
sizeof(void*) == sizeof(T*)). I would like to use it without
violating strict aliasing rules.

I don't know how to fight aliasing rules but as another approach you could template the function instead, i.e.


template<typename T> T* exchange(T** ptr, T* next);

exchange<int>(&a, &v2);

since you're using C++ here.

</begin rant>


What a fabulous idea for a programming language! Why not instantiate code for every subtle variation of a type? Then, create a giant library called STL for that very purpose. Watch your executables grow to multiple megabytes in size guaranteeing they won't fit into the cache of any processor. What better way to bring your quad-core processor to its knees. All hail the grand design of C++!

Ah, thank you :-) I feel better now. That was cathartic.

</end rant>


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]