Сообщение Re[4]: Передача аргументов в функцию - позиционные vs именов от 20.03.2025 11:04
Изменено 20.03.2025 11:07 Буравчик
Re[4]: Передача аргументов в функцию - позиционные vs именов
Здравствуйте, Muxa, Вы писали:
Pzz>>>Ну и передай туда структуру с именованными полями.
Б>>Ага, а сначала не забудь определить типы структуры.
M>А это определение чем-то сложнее перечисления параметров в сигнатуре функции получится?
M>
M>А это определение чем-то сложнее перечисления параметров в сигнатуре функции получится?
Конечно, это сложнее. Сравни с "правильным" вариантом:
Pzz>>>Ну и передай туда структуру с именованными полями.
Б>>Ага, а сначала не забудь определить типы структуры.
M>А это определение чем-то сложнее перечисления параметров в сигнатуре функции получится?
M>
M>struct f_args {
M> int i;
M> double d;
M> char c = 0;
M>};
M>void f(f_args args) {}
M>int main() {
M> f({.i = 1, .d = 0.5});
M> return 0;
M>}
M>M>А это определение чем-то сложнее перечисления параметров в сигнатуре функции получится?
Конечно, это сложнее. Сравни с "правильным" вариантом:
void f(int i, double d, char c = 0) {}
int main() {
f(i = 1, d = 0.5);
return 0;
}Re[4]: Передача аргументов в функцию - позиционные vs именов
Здравствуйте, Muxa, Вы писали:
M>
M>А это определение чем-то сложнее перечисления параметров в сигнатуре функции получится?
Конечно, это сложнее. Сравни с "правильным" вариантом:
M>
M>struct f_args {
M> int i;
M> double d;
M> char c = 0;
M>};
M>void f(f_args args) {}
M>int main() {
M> f({.i = 1, .d = 0.5});
M> return 0;
M>}
M>M>А это определение чем-то сложнее перечисления параметров в сигнатуре функции получится?
Конечно, это сложнее. Сравни с "правильным" вариантом:
void f(int i, double d, char c = 0) {}
int main() {
f(i = 1, d = 0.5);
return 0;
}