this post was submitted on 06 Oct 2023
15 points (80.0% liked)

Programming

17195 readers
351 users here now

Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!

Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.

Hope you enjoy the instance!

Rules

Rules

  • Follow the programming.dev instance rules
  • Keep content related to programming in some way
  • If you're posting long videos try to add in some form of tldr for those who don't want to watch videos

Wormhole

Follow the wormhole through a path of communities [email protected]



founded 1 year ago
MODERATORS
all 19 comments
sorted by: hot top controversial new old
[–] [email protected] 18 points 1 year ago* (last edited 1 year ago) (1 children)

A semicolon ends a statement, and semicolon is a statement on its own. One that does nothing. That's why you can write

int i;
for (i = 0; i ᐸ 3; i++);

to set i = 3. You can use that pattern to find something in an iterator, etc. But I would prefer

int i = 0;
while (i ᐸ 3) {
   i++;
}

for readability.

[–] [email protected] 18 points 1 year ago* (last edited 1 year ago) (1 children)

Your less thans got HTML-escaped into < and I spent embarrassingly long trying to figure out what pointer magic you were demonstrating

[–] [email protected] 4 points 1 year ago (1 children)

Yeah, both Voyager and the normal lemmy web client escape the less-than sign. I tried it twice on both clients.

[–] [email protected] 17 points 1 year ago (2 children)

The loop will run to completion with no side effects. Unless it gets optimized away by the compiler or CPU.

[–] [email protected] 13 points 1 year ago

Now slap some commas in there and you can have side effects in the loop header.

Guaranteed to confuse :)

[–] [email protected] 3 points 1 year ago

It's actually ub, so it could also find the cure to cancer

[–] [email protected] 12 points 1 year ago

Might help if you add some sample code

[–] [email protected] 6 points 1 year ago (4 children)

Pro tip: for(;;) takes less to type thann while(true)

[–] [email protected] 21 points 1 year ago

My programs cause enough tears on their own without having to put them in the code itself.

[–] Joey 8 points 1 year ago

#define EVER (;;)

[–] [email protected] 1 points 1 year ago

As yes. Readability destroying anti-patterns. My old enemy

[–] [email protected] 1 points 1 year ago (1 children)

I still struggle to see how that's valid syntax

[–] [email protected] 1 points 1 year ago (1 children)
[–] [email protected] 2 points 1 year ago

Yes, I know. On the other hand, when you see people code-golfing C, this is on the light end of the spectrum

[–] [email protected] 1 points 1 year ago