This is the mail archive of the cygwin-talk mailing list for the cygwin 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]

Re: Why I love C++ so much.


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.


Corinna


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