Mam taką strukturę danych:
struct foo {
int id;
int route;
int backup_route;
int current_route;
}
oraz funkcję o nazwie update (), która służy do żądania zmian w nim.
update (42, dont_care, dont_care, new_route);
to jest naprawdę długie i jeśli dodam coś do struktury, muszę dodać 'dont_care' do KAŻDEGO wywołania aktualizacji (...).
Zastanawiam się nad przekazaniem mu struktury zamiast tego, ale wcześniejsze wypełnienie struktury za pomocą `` dont_care '' jest jeszcze bardziej żmudne niż zwykłe przeliterowanie jej w wywołaniu funkcji. Czy mogę gdzieś stworzyć strukturę z domyślnymi wartościami „nieważne” i ustawić tylko pola, na których mi zależy, po zadeklarowaniu jej jako zmiennej lokalnej?
struct foo bar = {.id = 42, .current_route = new_route};
aktualizacja (& bar);
Jaki jest najbardziej elegancki sposób przekazania tylko informacji, które chcę wyrazić, do funkcji aktualizacji?
i chcę, aby wszystko inne było domyślnie ustawione na -1 (tajny kod dla „nie obchodzi mnie”)