Date: Mon, 13 Jan 2020 15:32:10 -0500
On 13/01/2020 13.14, Andrew Tomazos wrote:
> On Tue, Jan 14, 2020 at 3:15 AM Matthew Woehlke wrote:
>> I would rather see:
>>
>> class foo
>> {
>> public:
>> using x = std::as_const(m_x);
>> protected:
>> int m_x;
>> }
>
> This doesn't address the final concern in the paper, removing the need to
> create two different names for the same thing. ie In your example the two
> names `x` and `m_x` rather than just the one name `x`.
True, but TBH that is IMHO the least important aspect of the proposal.
I'm much less bothered by repeating a name than by having to use a
member function when what I really want is read-only access to a member
variable. The latter affects *my users*. The former only affects me.
Combine that with other features of my (counter)proposal:
- Does not need new keywords.
- Does not add an ambiguity issue for derived classes¹.
- Looks similar to, or can be implemented using, a feature that has
already been proposed and is more widely useful.
> On Tue, Jan 14, 2020 at 3:15 AM Matthew Woehlke wrote:
>> I would rather see:
>>
>> class foo
>> {
>> public:
>> using x = std::as_const(m_x);
>> protected:
>> int m_x;
>> }
>
> This doesn't address the final concern in the paper, removing the need to
> create two different names for the same thing. ie In your example the two
> names `x` and `m_x` rather than just the one name `x`.
True, but TBH that is IMHO the least important aspect of the proposal.
I'm much less bothered by repeating a name than by having to use a
member function when what I really want is read-only access to a member
variable. The latter affects *my users*. The former only affects me.
Combine that with other features of my (counter)proposal:
- Does not need new keywords.
- Does not add an ambiguity issue for derived classes¹.
- Looks similar to, or can be implemented using, a feature that has
already been proposed and is more widely useful.
-- Matthew
Received on 2020-01-13 14:34:43