C++ Logo

std-proposals

Advanced search

Re: [std-proposals] A draft for modern switch

From: Nikolay Mihaylov <nmmm_at_[hidden]>
Date: Thu, 22 May 2025 20:52:34 +0300
My 5 cents again :)

I am strongly against modifying switch in this way :)
C++ is C and C++, is not Javascript or PHP where nobody cares about
performance.

This is exactly why match were proposed.

On Wed, May 21, 2025 at 4:56 PM Jason McKesson via Std-Proposals <
std-proposals_at_[hidden]> wrote:

> On Wed, May 21, 2025 at 3:34 AM Filip via Std-Proposals
> <std-proposals_at_[hidden]> wrote:
> >
> > I agree, it seems like a better idea to have switch in non constexpr
> context available, to act like a nicer option acting like if else.
> >
> > Maybe I’m missing the key functionality of match, but it looks like a
> different syntax for something that we already have.
> >
> > I agree that assignment with match looks like a good idea, why wouldn’t
> we add that to the switch statement?
>
> Because we're getting pattern matching anyway, which is a superset of
> what switch can do. There's no point in improving a legacy feature
> when it is simultaneously being rendered obsolete.
>
> > string b = “hello”;
> > auto var = switch(b){
> > case “hi”: { return 42; }
> > case “hello”: { return 43; }
> > default: { return 0; } // probably should be
> mandatory
> > };
>
> ```
> b match {
> "hi" => return 42;
> "hello" => return 43;
> _ => return 0;
> }
> ```
> --
> Std-Proposals mailing list
> Std-Proposals_at_[hidden]
> https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals
>

Received on 2025-05-22 17:53:21