On Monday, 16 December 2019 14:51:38 CET J Decker wrote: > Here's the gist of what I would propose... > https://gist.github.com/d3x0r/f496d0032476ed8b6f980f7ed31280da > > In C, there are two operators . and -> used to access members of struct and > union types. These operators are specified such that they are always paired > in usage; for example, if the left hand expression is a pointer to a struct > or union, then the operator -> MUST be used. There is no occasion where . > and -> may be interchanged, given the existing specification. > > It should be very evident to the compiler whether the token before '.' or > '->' is a pointer to a struct/union or a struct/union, and just build the > appropriate output. > > The source modification for the compiler is very slight, even depending on > flag_c2x(that's not it's name). It ends up changing a lot of existing > lines, just to change their indentation; but that shouldn't really count > against 'changed lines'. > > I'm sure, after 4 score and some years ('78-19) that it must surely have > come up before? Anyone able to point me to those existing proposals? > What if you operate on a pointer to a pointer to a struct? Should the same operator just magically dereference everything until it is a struct?
I disagree with this proposal because separate a thing and a pointer to a thing is fundamental to C/C++, and providing short-cuts that confuse the two is doing a disservice to anyone that needs to learn it. Besides isn't this the wrong mailing list for this? 'Allan