Liste des Groupes | Revenir à l c |
On 20/04/2025 23:36, Keith Thompson wrote:bart <bc@freeuk.com> writes:for(p=sqliteHashFirst(&pSchema->trigHash); p; p=sqliteHashNext(p)){
sqlite3DeleteTrigger(db, (Trigger*)sqliteHashData(p));
}>
I might write it like this:
>
for ( p = sqliteHashFirst(&pSchema->trigHash);
p != NULL;
p = sqliteHashNext(p) )
{
sqlite3DeleteTrigger(db, (Trigger*)sqliteHashData(p));
}I have certain preferences (spaces around most operators, explicit
comparison to NULL, willingness to split long lines) that other C
programmers may or may not share.
I rarely see complex loops split over multiple lines
(mainly when they
get so long that they'd overflow the line, but they can still be complex
enough before then).
But the thing is, once you split it into multiple lines, then there is
little advantage over using a regular 'while' loop:
[...]
It keeps it even more together, which you seem to like.>
That's something you invented. I find it ugly, and I presume you'd
agree. The fact that you think that someone else would prefer it
indicates that you don't understand how other people think.
AFAIK it is legal C code, and I invented it because somebody said things
that belong together should be together in one place.
However, I have
seen actual examples like that, in for-headers that that use
comma-separated expressions.
I'd rather not write `for (ch in 0..255)` because it's a syntax error.
It's a syntax error because the form doesn't naturally exist in C; you'd
have to emulate using macros, which is a poor solution.
You have the luxury of using your own language.
That 'ch in 0..255' form or close equivalent is supported by that long
set of languages I listed earlier. It's not my invention, I just copied it.
It is just something that is desirable. Look again at the C version: it
looks off. (At least, you'd use a shorter loop index!)
[...]
If you don't like C-style for loop, they absolutely should not
exist in a language for which you are, if I understand correctly,
the sole implementer and the sole user.
But I hear so much about how wonderful it is, how multi-purpose, how
indispensible, how superior to an ordinary 'for' (admittedly from people
who don't have a choice) that I didn't want to miss out!
Les messages affichés proviennent d'usenet.