On Tue, 29 Apr 2008 20:28:33 -0400 Robert William Fuller wrote: > 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 T* exchange(T** ptr, T* next); > > > > exchange(&a, &v2); > > > > since you're using C++ here. > > > > 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. > > Clearly we just need bigger processor caches. Those boys down in hardware just been slacking. Not keeping up with the latest developments in software!