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 21 February 2008 01:18, Gary R. Van Sickle wrote:

>> From: Dave Korn
>> 
>> 
>>   Because writing
>> 
>>   hex << setw (8) << setfill ('0') << ((uintptr_t)(x)) << dec << setfill
>> (' ') 
>> 
>> is just soooooo much easier and more self-consistent and less typing than
>> 
>>   "%08x", x
>> 
>> 
>> 
>> <grrrspit>
>> 
> 
> Ummm... Kornsy?  All the *printf()'s are available for your use in every
> standard C++ library I've ever come across, if you really want to risk the
> security and portability problems.

  Which makes the above monstrosity an even worse waste of time, space and
energy!  I mean look at that shabby mess!  Modal operators!
Non-modal-self-resetting operators!  Inferring the field type from the width
of the integer!

  That's /why/ I end up using those *printfs in C++ all the time.

> Or are you telling us that you have a C compiler that magically compiles the
> bare symbols:
> 
> 	"%08x", x
> 
> into some sort of string and/or output?  That might be cool, but I think
> that's Perl ;-).

  LOFL.  Nah, I was just comparing the equivalent subsequences from debugging
print statements.

  Of course, if you know of a C++ compiler that lets you print into the 'hex'
operator, maybe I know of a C compiler that can infer you mean a printf from a
comma-expression...

  And this is where we came in.  Because /the C++ way/ would be to say "I
know, let's create an overloaded "const char *operator, (int &x)", that treats
the first operand as a format string and the second as a varargs list.  Or
maybe they'd invent templates or something really far-out and bizarre instead.
I dunno, they're mad, all mad I tell you, pronounced
"MAaaaaa-hahuahauaahuaaa-aaad!" and spelt "gibberboinkwibble".

    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]