Предложение уже сформировано: p1260p0: Pattern Matching.
Например, чтобы разобраться с содержимым объекта variant<int, float> можно написать вот так:
inspect (v) {
<int> i: cout << "got int: " << i;
<float> f: cout << "got float: " << f;
}
Желающих посмотреть больше примеров адресую в пропозал, там всего-то 16-ть страничек.
Если примут, да еще и в C++20, то это будет мегакруто.
Upd. Еще одно аналогичное предложение, которое, по слухам, имеет даже больше шансов: p1308r0: Pattern Matching.
Комментариев нет:
Отправить комментарий