C言語

C++ Tiips

builtin_expect 条件分岐がほとんど成り立つlikley or 成り立たないunlikelyを指定することにより、コンパイラが最適化して条件分岐を高速化することができる #define likely(x) __builtin_expect((x), 1) #define unlikely(x) __builtin_expect((x), 0) tku…

size_t と int の比較でハマった

std::vector.size()の返り値はsize_t int a = 10 size_t b = 20 if (a - b < 0) printf("true"); else printf("false"); これはfalseが返ってくる。 size_t同士で比較するか、bをintでcastして比較すると望みの挙動になったが、 どうするのが正しいのか。 こ…