Languages are weird sometimes.
-
-
Replying to @marcan42
English is the C++ of verbal languages: full of weird syntactical bullshit, a huge Feature set noone actually uses more than 5% of, a huge set of undefined behaviors and unexpected edge cases, and a community that swears its the superior language for every kind of application.
9 replies 36 retweets 102 likes -
This Tweet is unavailable.
-
-
This Tweet is unavailable.
-
Replying to @BahamutLagoon25 @byuu_san and
c is incompatible to c++. c++2a is going to add designated initializers, but c is a lot more lax with its type system (outputting warnings where c++ would output errors)
1 reply 0 retweets 0 likes -
Replying to @dark_kirb @byuu_san and
In some cases it doesn't warn at all, e.g. void* semantics
1 reply 0 retweets 0 likes -
converting to void* is implicit in c++, converting back implicitly is an error, doing math on a void* pointer is either a warning or an error, not sure which
1 reply 0 retweets 0 likes -
Replying to @dark_kirb @byuu_san and
Doing pointer arithmetic on void* is undefined in C but gcc in its infinite wisdom treats this as a warning and a pointer to a size-1 value.
1 reply 0 retweets 0 likes -
Replying to @endrift @dark_kirb and
Don't EVER do this though. Please. It's bad.
2 replies 0 retweets 0 likes
This is why GCC extensions are bad. Adding new useful syntax is OK (at least it'll error out elsewhere), but making undefined stuff defined? That's a giant minefield. I know I've written code doing void* arithmetic before realizing it was undefined in standard C.
-
-
Replying to @marcan42 @dark_kirb and
There's a reason I compile with --std=c99 instead of --std=gnu99
0 replies 1 retweet 1 likeThanks. Twitter will use this to make your timeline better. UndoUndo
-
Loading seems to be taking a while.
Twitter may be over capacity or experiencing a momentary hiccup. Try again or visit Twitter Status for more information.