Re: why use -> (not .) with pointers?
- From: Guillaume <"grsNOSPAM at NOTTHATmail dot com">
- Date: Thu, 30 Jun 2005 19:15:16 +0200
Richard Tobin wrote:
So would you favour having different operators for integer and floating-point addition?
Actually, that could be debatable. When I see so many programmers mixing integers and fp numbers in expressions without quite knowing what they are doing (and sometimes wondering why the heck they don't get the results they are expecting), I'm thinking: why not different operators. At least, that would force you to have a clear understanding of both what you want and what is going to happen, without having to read dozens of pages of the standard and praying that your compiler sticks to it...
Is it a disaster that if foo is a function pointer you can say foo(1) instead of (*foo)(1)?
You're making a point, but I don't see this as harmful as the "./->" case. When you see foo(1), you immediately know while reading it that foo is either a pointer to a function, or a function symbol. There is no "function type" that you can use in C as a variable; there are only function pointers. Functions themselves cannot be C variables, just as you can't "instantiate" a void variable; only pointers to void are legal.
Since I almost never use a pointer to function without checking first if it's NULL or not, it's immediately clear what 'foo' is, without having to browse through hundreds of lines of code...
Why is determining the action "guessing" in this case but not the others?
In the case of using '.' instead of '->' for pointers to structures, you loose sight of what the variable type is: is it a pointer to a structure or a structure? That hinders readability in my opinion.
Then again, I use the Hungarian notation most of the time, so that would not be that big a deal for me: but I know a lot of programmers that don't. Then the source code would become hell to read.
High-level languages are meant to be highly readable by you and by others. Readability should be a big part of programming. Apparent syntax simplifications do more harm than good in my opinion. In that particular case, that would tend to make the newer programmers confuse pointer-types with non-pointer-types. And that would tend to just plain confuse the more seasoned ones... .
- Follow-Ups:
- Re: why use -> (not .) with pointers?
- From: Walter Roberson
- Re: why use -> (not .) with pointers?
- References:
- why use -> (not .) with pointers?
- From: Felix Kater
- Re: why use -> (not .) with pointers?
- From: lawrence . jones
- Re: why use -> (not .) with pointers?
- From: Guillaume
- Re: why use -> (not .) with pointers?
- From: Richard Tobin
- why use -> (not .) with pointers?
- Prev by Date: How to make binary data portable?
- Next by Date: Re: How to make binary data portable?
- Previous by thread: Re: why use -> (not .) with pointers?
- Next by thread: Re: why use -> (not .) with pointers?
- Index(es):
Relevant Pages
|