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 22 February 2008 16:33, Igor Peshansky wrote:

> On Fri, 22 Feb 2008, Dave Korn wrote:
> 
>> On 22 February 2008 16:14, Igor Peshansky wrote:
>> 
>>> 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. :-)
>> 
>>   Didn't bring back the memory of the word "there's", I note!
> 
> Hey, I didn't say they were *perfect* 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.
>> 
>>   But it wasn't a rocket-launcher when I picked it up, it was a bar of
>> soap, it only overloaded itself into a rocket launcher when I tried to
>> wash my feet with it instead of my hands!
> 
> No, it was a rocket launcher all along.  It just happened to be an
> overloaded "bar of soap" operator.  You should be careful with the type of
> the operands...
> 	Igor


  My desert polish just overloaded itself into a floor-topping :-(



    cheers,
      DaveK
-- 
Can't think of a witty .sigline today....


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