This is the mail archive of the
cygwin-talk
mailing list for the cygwin project.
Re: Why I love C++ so much.
On Fri, 22 Feb 2008, Danilo Turina wrote:
> Corinna Vinschen wrote:
> > On Feb 21 05:26, Warren Young wrote:
> > > Corinna Vinschen wrote:
> > > > Really? Show me an example which isn't much harder to understand than
> > > > the equivalent C code.
> > > template <class T>
> > > std::string foo(const T& x)
> > > {
> > > std::ostringstream outs;
> > > outs << x << and << maybe << other << stuff;
> > > return outs.str();
> > > }
> > >
> > > (Aside: This looks pointlessly trivial, but it's a simplified version of
> > > real code in MySQL++ (http://tangentsoft.net/mysql++/). It would just
> > > muddy the waters to talk about the reason MySQL++ does this.)
> > >
> > > To do that with C functions (maybe strto*() instead of printf()) you'd
> > > have to create a set of template specializations for every T you know
> > > about to call the right C function with the right arguments. Any time you
> > > add to the list of supported T's, you have to add template
> > > specializations.
> >
> > Argh. Using templates as an example for simplicity is somewhat daring.
> > Templates, liberally used, are a good way to make code unreadable.
> >
> > IMHO.
> >
> > FWIW.
> >
> > YMMV.
> >
> > YMCA.
"Young men, no need to feel down"... That brings back memories. :-)
> C++ is like Unix, people that don't like it is because they don't
> understand it.
C++ is for people who want to be able to not just shoot themselves in the
foot, but do it with a rocket launcher. Unix allows one to throw a
grenade under their own feet. So yes, they are very similar.
Igor
--
http://cs.nyu.edu/~pechtcha/
|\ _,,,---,,_ pechtcha@cs.nyu.edu | igor@watson.ibm.com
ZZZzz /,`.-'`' -. ;-;;,_ Igor Peshansky, Ph.D. (name changed!)
|,4- ) )-,_. ,\ ( `'-' old name: Igor Pechtchanski
'---''(_/--' `-'\_) fL a.k.a JaguaR-R-R-r-r-r-.-.-. Meow!
"That which is hateful to you, do not do to your neighbor. That is the whole
Torah; the rest is commentary. Go and study it." -- Rabbi Hillel