URL: http://www.mozilla.org/hacking/portable-cpp.html#dont_use_templates

The Mozilla C++ portability guide says that developers should not use templates in their C++ code. Damn! I just learnt how to use templates in my Object Oriented Programming in C++ course. They are so useful that I can't understand why the compilers can't support it.

"Don't use the C++ template feature. This feature is still not implemented by all compilers, and even when it is implemented, there is great variation. Most of the interesting things that you would want to do with templates (type safe container classes, etc.) can be implemented with macros and casting, even though you do lose the type safety (pity). Often times subclassing can easily achieve the same result."

Without templates you have to write one function for every type:


void swap(int & x, int & y) 
    int tmp = x; x = y; y = tmp;
void swap(long & x, long & y) 
    long tmp = x; x = y; y = tmp;

And with templates you can generalise it like this:


template <typename T>
void swap(T &amp; x, T &amp; y) 
    T tmp = x; x = y; y = tmp;

Comments

Your email will never ever be published.

Previous:
Ugliest site of the month, yoyoguy.com February 17, 2004 Web development
Next:
Why Sun should Open up on Java February 18, 2004 Linux
Related by keyword:
Interesting float/int casting in Python April 25, 2006 Python
Integrate BrowserID in a Tornado web app November 22, 2011 Tornado, Mozilla
Future of Web Apps (quick summary and thoughts) October 4, 2007 Web development
Same but new keyboard, lovely change January 21, 2004 Mathematics