struct S {
int _, _; // Was invalid, now OK
};
void func() {
int _, _; // Was invalid, now OK
}
void other() {
int _; // Previously diagnosed under -Wunused, no longer diagnosed
}
вкусно же, не нужно придумывать всякие reserved имена переменным
есть еще P0847R7: Deducing this для C++23
но мне он как то не зашел, не вижу пока применения
Здравствуйте, reversecode, Вы писали:
R>вкусно же, не нужно придумывать всякие reserved имена переменным
Лучше б они сделали разворачивание вариадик паков в структурированные биндинги, вот это реально полезная штука была бы. Там у них пропозал валяется где-то, интересно, что из этого получится и когда.
--
Не можешь достичь желаемого — пожелай достигнутого.
это намёк, на аналогичный вопрос
дедусин зис
это про то что бы не писать "сто перегрузок" для какого то метода
типа все заворачивается в один
а дедусин сиз все ловит
Здравствуйте, reversecode, Вы писали:
R>причем здесь передача мелких объектов без сиз, хз
Я про возможность передавать зис по копии, явно указывая тип зиса. Без неё невозможно было бы сверху приделать шаблонный тип зиса. Ок, я не в тему сказал.
Здравствуйте, reversecode, Вы писали:
R>есть еще P0847R7: Deducing this для C++23 R>но мне он как то не зашел, не вижу пока применения
Ну как же, можно обращаться к this внутри функций по правилам perfect forwarding references. Это во многих случаях избавляет от копипасты функций-членов для разлиных комбинаций модификатров — const/non-const, const&, &, &&, etc.
--
Не можешь достичь желаемого — пожелай достигнутого.
enum class variants { one, two, three };
namespace
{
int get(variants v) {
int r = 0;
switch(v) {
case variants::one: r = 1; break;
case variants::two: r = 2; break;
case variants::three: r = 3; break;
}
return r;
}
} /* namespace anonymous */int main()
{
return get(variants::three);
}
Здравствуйте, reversecode, Вы писали:
R>не понял вопроса
И не удивительно.
R>почему дефолт является частью синтаксиса ?
Нет, не почему дефолт является частью синтаксиса, а почему clang-18 вдруг стал требовать дефолт там, где все возможные варианты были обработаны через case/break.