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: [email protected] [[email protected]] on behalf of Ian Lance Taylor [[email protected]] Sent: Thursday, June 14, 2012 10:19 AM To: Rick C. Hodgin Cc: [email protected] Subject: Re: "self" keyword "Rick C. Hodgin"<[email protected]> 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
