C++ Logo

std-proposals

Advanced search

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

From: Gašper Ažman <gasper.azman_at_[hidden]>
Date: Thu, 7 Oct 2021 09:06:49 +0100
You are wrong.

_x is allowed. __x and _X are reserved. I use it all the time.

Look at "reserved identifiers" in the standard.

On Thu, Oct 7, 2021, 09:04 Nikolay Mihaylov <nmmm_at_[hidden]> wrote:

> My 5 cents about the thing nobody mentions.
>
> Although many programming languages uses underscore for private members,
> in C++ and probably in C,
> you are not allow to do anything with front underscore. Yes, compiler will
> accept it and it will be compiled,
> but these are reserved for system library implementation.
>
> So:
>
> class A{
> int _a;
> int _b;
> public:
> // ...
> }
>
> this is not allowed.
>
> I personally use this:
>
> class A{
> int a_;
> int b_;
> public:
> // ...
> }
>
> Regards
>
>
>
>
> On Thu, Oct 7, 2021 at 10:56 AM Gašper Ažman via Std-Proposals <
> std-proposals_at_[hidden]> wrote:
>
>> 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
>>>
>> --
>> Std-Proposals mailing list
>> Std-Proposals_at_[hidden]
>> https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals
>>
>

Received on 2021-10-07 03:07:09