m5knt

底が浅い男がなんとはなしに...

C/C++

マクロの可変引数が空の場合の判定が結構面倒にょろ

カンマの数を数えるのは結構簡単なんですが空と一つを区別するには結構ややこしいことに気づいて誰かやってるだろうってことで検索なんかして見つけるわけなんですがその実装がややこしくもっと楽な実装あるんじゃないか考えてみました 参考 https://gustedt…

BOOST_PP_BOOL が 256 までにょろ

プリプロセッサの常套手段としてルックアップテーブル的な実装で何でもこなしちゃうってのはまあ分かるんですが 有限なのはちょいと困るので 0 false !n true になるようなものを考えてみました 力技ならこんな感じ #define BOOL(x) BOOL ## x #define BOOL0…

@deprecated 指定したけど気に掛けてくれないにょろ

sprintf は危険なことが多く使ってほしくないので doxygen のドキュメントとして使ってほしくないリストへ現れるようにこんな感じにしてたんですが /// @deprecated #define sprintf sprintf 危険な関数を使ってしまう奴は doxygen 出力して把握してくれるわ…

フォーマットを扱うマクロを適切に使い分けてくれないにょろ

C言語で文字列を整形する為に printf 等を利用することが多いわけなんですが printf 的なものをマクロ LOGF(...) でくるむと文字列表示期待で LOGF("%s", "A") ではなく LOGF("A") としがちです、%が混じってなければ安全なんですがこのような形を続けられる…