Date: Sun, 22 Nov 2020 09:16:12 -0600
On Sun, Nov 22, 2020 at 9:08 AM Nicolai Josuttis via Ext <
ext_at_[hidden]> wrote:
> Starting to learn and document C++20, I just realized that
> the keyword "constinit" seems very confusing.
> Every naive programmer would assume it means "init a const",
> but it seems the const is simply wrong; it is the opposite.
> Or as Jonathan Müller wrote in a talk:
> constinit = constexpr - const
>
> Now I wonder how to teach that.
> Could somebody elaborate please why we have chosen this name
> and what is the best way to make this name plausible to ordinary
> programmers?
>
> Thanks
> Nico
>
The name comes from mandating that we perform *const*ant *init*ialization
for this variable.
Barry
ext_at_[hidden]> wrote:
> Starting to learn and document C++20, I just realized that
> the keyword "constinit" seems very confusing.
> Every naive programmer would assume it means "init a const",
> but it seems the const is simply wrong; it is the opposite.
> Or as Jonathan Müller wrote in a talk:
> constinit = constexpr - const
>
> Now I wonder how to teach that.
> Could somebody elaborate please why we have chosen this name
> and what is the best way to make this name plausible to ordinary
> programmers?
>
> Thanks
> Nico
>
The name comes from mandating that we perform *const*ant *init*ialization
for this variable.
Barry
Received on 2020-11-22 09:16:26