LINUX.ORG.RU

История изменений

Исправление firkax, (текущая версия) :

Структуры делают там где вызывающий код и так длинный и иначе (без именованных аргументов) легко запутаться. Если функция с всего несколькими аргументами и ты сделаешь структуру то юзерам твоей библиотеки придётся делать кучу обёрток, вся суть которых - разложить аргументы по полям структуры и вызвать твою штуку. Потому как писать

struct args3 s;
s.a = 1;
s.b = 2;
call_by_index(3, &s);
вместо
call_by_index(3, 1, 2);
это мазохизм.

А вообще такие индексированные вызовы без веских причин делать не надо.

Исправление firkax, :

Структуры делают там где вызывающий код и так длинный и иначе (без именованных аргументов) легко запутаться. Если функция с всего несколькими аргументами и ты сделаешь структуру то юзерам твоей библиотеки придётся делать кучу обёрток, вся суть которых - разложить аргументы по полям структуры и вызвать твою штуку. Потому как писать

struct args3 s;
s.a = 1;
s.b = 2;
call_by_index(3, &s);
вместо
call_by_index(3, 1, 2);
это мазохизм.

Исходная версия firkax, :

Структуры делают там где вызывающий код и так длинный и иначе (без именованных аргументов) легко запутаться. Если функция с всего несколькими аргументами и ты сделаешь структуру то юзерам твоей библиотеки придётся делать кучу обёрток, вся суть которых - разложить аргументы по полям структуры и вызвать твою штуку. Потому как писать

s.a = 1;
s.b = 2;
call_by_index(3, &s);
вместо
call_by_index(3, 1, 2);
это мазохизм.