C++ Logo

std-proposals

Advanced search

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

From: Gašper Ažman <gasper.azman_at_[hidden]>
Date: Thu, 7 Oct 2021 08:55:20 +0100
As a note, deducing this is in c++23.

On Thu, Oct 7, 2021, 04:16 Phil Bouchard via Std-Proposals <
std-proposals_at_[hidden]> wrote:

>
> On 10/6/21 3:56 PM, Keenan Horrigan via Std-Proposals wrote:
>
> 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".
>
> Oh yeah I remember that proposal. I was suggesting an alternative but the
> conversation died in the egg for some reason and I never followed up:
>
> https://lists.isocpp.org/std-proposals/2020/03/1215.php
>
> Same idea at its root but different syntax.
>
>
>
> ‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
> On Wednesday, October 6th, 2021 at 1:26 PM, Phil Bouchard via
> Std-Proposals <std-proposals_at_[hidden]>
> <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,
>> --
>> [image: Logo] <https://www.fornux.com/>
>> *Phil Bouchard* [image: 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
>> [image: 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
>>
> --
> [image: Logo] <https://www.fornux.com/>
> *Phil Bouchard* [image: 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
> [image: 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.
>
>
>
> --
> [image: Logo] <https://www.fornux.com/>
> *Phil Bouchard* [image: 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
> [image: 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
>

Received on 2021-10-07 02:55:34