On 14/06/12 19:31, Joe Buck wrote:
It only saves one character in any case: your "self" is just "*this".
No, "this" points to the object in C++. The OP's "self" is referring to
the function being compiled. So here "self" would be the same as "foo".
I don't think there is any way to get this without making a language
extension, unless there is some way of turning the string __FUNC__ into
the function. But I also don't see any advantage over simply using the
function name directly. After all, how often do you need recursion -
and what is the problem with writing out the function name in full on
those occasions?
mvh.,
David
________________________________________
From: gcc-ow...@gcc.gnu.org [gcc-ow...@gcc.gnu.org] on behalf of Ian Lance
Taylor [i...@google.com]
Sent: Thursday, June 14, 2012 10:19 AM
To: Rick C. Hodgin
Cc: gcc@gcc.gnu.org
Subject: Re: "self" keyword
"Rick C. Hodgin"<foxmuldrs...@yahoo.com> writes:
I was thinking C and C++.
int myclass::foo(int a)
{
// recursion
self(a + 1);
}
Just out of curiosity, why wouldn't it be accepted back into mainline?
In general these days GCC discourages language extensions. They would
have to have a compelling advantage. I don't see that here. Even if I
did, I would recommend running it through a language standards body
first.
Ian