Re: Python ++ Operator?

S

Stefan Behnel

Chris Angelico, 15.07.2011 10:06:
2011/7/15 Björn Lindqvist:
Pre and post-increments are
almost always confusing unless they are used as the counter-variable
inside for-loops.

I agree that they're often confusing (i+++++j) but there are several
places where they're handy.

array[count++]=value;

or the more direct pointer management:

*ptr++=value;

More direct, sure. But readable? Well, only when you know what this
specific pattern does. If you have to think about it, it may end up hurting
your eyes before you figure it out.

Stefan
 
W

Waldek M.

Dnia Fri, 15 Jul 2011 23:09:02 +0200, Stefan Behnel napisa³(a):
[...]
array[count++]=value;

or the more direct pointer management:
*ptr++=value;

More direct, sure. But readable? Well, only when you know what this
specific pattern does. If you have to think about it, it may end up hurting
your eyes before you figure it out.

Oh, come on. I don't say the post- and pre-incrementing is
good or bad, but please don't exagerate.

Almost any other construction is unreadable to people, who
don't know this construction, eg. a==1, a+=1
may be completely senseless to mathematicians.

Best regards,
Waldek
 
N

Nobody

More direct, sure. But readable? Well, only when you know what this
specific pattern does. If you have to think about it, it may end up
hurting your eyes before you figure it out.

If you have to think about it, you shouldn't even be using C.
 
R

Robert Kern

Dnia Fri, 15 Jul 2011 23:09:02 +0200, Stefan Behnel napisał(a):
[...]
array[count++]=value;

or the more direct pointer management:
*ptr++=value;

More direct, sure. But readable? Well, only when you know what this
specific pattern does. If you have to think about it, it may end up hurting
your eyes before you figure it out.

Oh, come on. I don't say the post- and pre-incrementing is
good or bad, but please don't exagerate.

Almost any other construction is unreadable to people, who
don't know this construction, eg. a==1, a+=1
may be completely senseless to mathematicians.

No construction is truly intuitive and immediately understandable to everyone,
but there are constructions that are less easy to understand than others. a==1
and a+=1 both have few "moving parts" that you have to learn, and they combine
with other constructions fairly straightforwardly. *ptr++=value has several
moving parts, each of which are understandable separately, but understanding
their separate functions does not give immediate understanding of their combined
meaning. You not only have to learn the meaning of each component, you have to
separately learn how they combine.

--
Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,769
Messages
2,569,580
Members
45,054
Latest member
TrimKetoBoost

Latest Threads

Top