Date: Thu, 22 May 2025 23:24:12 +0200
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_at_[hidden]>
Gesendet:Do 22.05.2025 22:08
Betreff:Re: [std-proposals] A draft for modern switch
An:std-proposals_at_[hidden];
CC:Jeremy Rifkin <rifkin.jer_at_[hidden]>;
> Wow, if you believe that C++ must care
> about performance, then you may want
> to consider supporting a switch that
> tests strings!
There is no optimization that is unique to switch. Compilers optimize if-else chains just fine.
Jeremy
On Thu, May 22, 2025 at 1:45 PM Zhihao Yuan via Std-Proposals <std-proposals_at_[hidden] <mailto:std-proposals_at_[hidden]> > wrote:
On Thursday, May 22nd, 2025 at 10:53 AM, Nikolay Mihaylov via Std-Proposals <std-proposals_at_[hidden] <mailto:std-proposals_at_[hidden]> > 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 care
about performance, then you may want
to consider supporting a switch that
tests strings! What a compiler can do to
optimize a pattern matching that tests
strings but simulates fall-through between
the 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_at_[hidden] <mailto:std-proposals_at_[hidden]> > wrote:
On Wed, May 21, 2025 at 3:34 AM Filip via Std-Proposals
<std-proposals_at_[hidden] <mailto: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] <mailto:Std-Proposals_at_[hidden]>
https://lists.isocpp.org/mailman/listinfo.cgi/std-proposals
--
Std-Proposals mailing list
Std-Proposals_at_[hidden] <mailto: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 2025-05-22 21:31:46