Re: Named arguments in C

Liste des GroupesRevenir à l c 
Sujet : Re: Named arguments in C
De : richard.nospam (at) *nospam* gmail.invalid (Richard Harnden)
Groupes : comp.lang.c
Date : 04. Jul 2024, 09:59:35
Autres entêtes
Organisation : A noiseless patient Spider
Message-ID : <v65o9n$2mjeq$1@dont-email.me>
References : 1 2 3 4 5 6 7 8
User-Agent : Mozilla Thunderbird
On 03/07/2024 21:16, Blue-Maned_Hawk wrote:
Richard Harnden wrote:
 
On 02/07/2024 20:39, Blue-Maned_Hawk wrote:
>
I searched around a bit, and it seems like a more common way to
implement named arguments in C is with a pattern like this:
>
#define f(...) f_impl((struct f_struct){__VA_ARGS__})
void f_impl(struct f_struct { int i, j;  char * k; double l, m, n; }
f_params)
{
/* actual code */
}
>
int main(void)
{
f(.i = 0, .j = 2, .l = 2.5, .k = "foo", .n = 4.2, .m = 2.5);
}
>
>
That's the kind of thing Bonita would write.
Horrible.
 I assure you that i can write much worse code.  What do you say makes this
is horrible?
It just doesn't feel like how C ought to be, not to me anyway.
If you have named parameters, then you have to allow default values.
Then you have function overloading.
I mostly try to avoid function-like macros - this would force them to be everywhere - and the definition would be far away from the call.
I agree with Bart downthread ...

Date Sujet#  Auteur
2 Jul 24 * Named arguments in C22Ivan Farlenkov
2 Jul 24 +* Re: Named arguments in C12Blue-Maned_Hawk
2 Jul 24 i+* Re: Named arguments in C4Richard Harnden
3 Jul 24 ii`* Re: Named arguments in C3Blue-Maned_Hawk
4 Jul 24 ii `* Re: Named arguments in C2Richard Harnden
4 Jul 24 ii  `- Re: Named arguments in C1Kaz Kylheku
2 Jul 24 i`* Re: Named arguments in C7bart
2 Jul 24 i +- Re: Named arguments in C1Keith Thompson
3 Jul 24 i +* Re: Named arguments in C4Blue-Maned_Hawk
4 Jul 24 i i`* Re: Named arguments in C3bart
4 Jul 24 i i `* Re: Named arguments in C2Keith Thompson
4 Jul 24 i i  `- Re: Named arguments in C1Kaz Kylheku
4 Jul 24 i `- Re: Named arguments in C1Opus
3 Jul 24 +- Re: Named arguments in C1Lawrence D'Oliveiro
4 Jul 24 `* Re: Named arguments in C8Bonita Montero
4 Jul 24  +* Re: Named arguments in C2Michael S
4 Jul 24  i`- Re: Named arguments in C1Michael S
4 Jul 24  `* Re: Named arguments in C5bart
4 Jul 24   `* Re: Named arguments in C4Bonita Montero
4 Jul 24    +- Re: Named arguments in C1Bonita Montero
4 Jul 24    `* Re: Named arguments in C2bart
4 Jul 24     `- Re: Named arguments in C1Bonita Montero

Haut de la page

Les messages affichés proviennent d'usenet.

NewsPortal