C++ Logo

std-proposals

Advanced search

Re: "this->" -> "." alias

From: Keenan Horrigan <friedkeenan_at_[hidden]>
Date: Wed, 06 Oct 2021 19:56:55 +0000
I would think that [the "Deducing this" paper](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p0847r7.html) would supersede this idea, as methods with "object parameters" are currently proposed to disallow using the this keyword or implicitly looked up member variables within them, so a "var" parameter would be unambiguously the parameter and you'd have to access the member variable through something like "self.var".

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Wednesday, October 6th, 2021 at 1:26 PM, Phil Bouchard via Std-Proposals <std-proposals_at_[hidden]> wrote:

> Yeah I agree.
>
> On 10/6/21 12:26 PM, Lee Howes wrote:
>
>> Seems a bit much to make a language change just to allow member shadowing doesn't it? The following is no more typing heavy:
>>
>> struct A
>>
>> {
>>
>> int _var;
>>
>> void foo(int & var);
>>
>> };
>>
>> void A::foo(int & var)
>>
>> {
>>
>> var = 1; // changes parameter
>>
>> _var = 2; // changes member variable
>>
>> }
>>
>> On Wed, 6 Oct 2021 at 09:04, Phil Bouchard via Std-Proposals <std-proposals_at_[hidden]> wrote:
>>
>>> Greetings,
>>>
>>> This is just a minor syntactic adjustment but could fix a very long lasted problem.
>>>
>>> Suppose you have:
>>>
>>> struct A
>>>
>>> {
>>>
>>> int var;
>>>
>>> void foo(int & var);
>>>
>>> };
>>>
>>> What I suggest is to add a prefix that could replace: "this->"
>>>
>>> void A::foo(int & var)
>>>
>>> {
>>>
>>> var = 1; // changes parameter
>>>
>>> .var = 2; // changes member variable
>>>
>>> }
>>>
>>> Regards,
>>>
>>> --
>>>
>>> [Logo](https://www.fornux.com/)
>>> Phil Bouchard [facebook icon](https://www.linkedin.com/in/phil-bouchard-5723a910/)
>>> CTO
>>> T: (819) 328-4743
>>> E: phil_at_[hidden] | www.fornux.com
>>> 1188 rue Saint-Louis | Gatineau (Qc), J8T 2L8 Canada
>>> [Banner](https://goglobalawards.org/) Le message ci-dessus, ainsi que les documents l'accompagnant, sont destinés uniquement aux personnes identifiées et peuvent contenir des informations privilégiées, confidentielles ou ne pouvant être divulguées. Si vous avez reçu ce message par erreur, veuillez le détruire.
>>> This communication (and/or the attachments) is intended for named recipients only and may contain privileged or confidential information which is not to be disclosed. If you received this communication by mistake please destroy all copies.
>>> --
>>> Std-Proposals mailing list
>>> Std-Proposals_at_[hidden]
>>> https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals
>
> --
>
> [Logo](https://www.fornux.com/)
> Phil Bouchard [facebook icon](https://www.linkedin.com/in/phil-bouchard-5723a910/)
> CTO
> T: (819) 328-4743
> E: phil_at_[hidden] | www.fornux.com
> 1188 rue Saint-Louis | Gatineau (Qc), J8T 2L8 Canada
> [Banner](https://goglobalawards.org/) Le message ci-dessus, ainsi que les documents l'accompagnant, sont destinés uniquement aux personnes identifiées et peuvent contenir des informations privilégiées, confidentielles ou ne pouvant être divulguées. Si vous avez reçu ce message par erreur, veuillez le détruire.
> This communication (and/or the attachments) is intended for named recipients only and may contain privileged or confidential information which is not to be disclosed. If you received this communication by mistake please destroy all copies.

Received on 2021-10-06 14:57:01