I do not understand the (continued) discussion about switch.
There are active proposals out there for a new facility.
Yes, they are not called switch.
No, you won't get the new facilities and an upgraded switch both.
It will not make a difference if we convince people how switch should be one way or the other, if switch stays as it is.
-----Ursprüngliche Nachricht-----
Von: Jeremy Rifkin via Std-Proposals <std-proposals@lists.isocpp.org>
Gesendet: Do 22.05.2025 22:08
Betreff: Re: [std-proposals] A draft for modern switch
An: std-proposals@lists.isocpp.org;
CC: Jeremy Rifkin <rifkin.jer@gmail.com>;
> Wow, if you believe that C++ must care> about performance, then you may want> to consider supporting aswitchthat> tests strings!There is no optimization that is unique to switch. Compilers optimize if-else chains just fine.JeremyOn Thu, May 22, 2025 at 1:45 PM Zhihao Yuan via Std-Proposals <std-proposals@lists.isocpp.org> wrote:--On Thursday, May 22nd, 2025 at 10:53 AM, Nikolay Mihaylov via Std-Proposals <std-proposals@lists.isocpp.org> wrote:
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.Wow, if you believe that C++ must careabout performance, then you may wantto consider supporting aswitch thattests strings! What a compiler can do tooptimize a pattern matching that testsstrings but simulates fall-through betweenthe cases?--Zhihao Yuan, ID lichray
The best way to predict the future is to invent it.
_______________________________________________This is exactly why match were proposed.On Wed, May 21, 2025 at 4:56 PM Jason McKesson via Std-Proposals <std-proposals@lists.isocpp.org> wrote:On Wed, May 21, 2025 at 3:34 AM Filip via Std-Proposals
<std-proposals@lists.isocpp.org> 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@lists.isocpp.org
https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals
Std-Proposals mailing list
Std-Proposals@lists.isocpp.org
https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals
-- Std-Proposals mailing list Std-Proposals@lists.isocpp.org https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals