1. ホーム
  2. c++

[解決済み] あなたが今まで遭遇した最悪の実戦的マクロ/プリプロセッサの乱用は何ですか?

2022-04-21 19:23:42

質問

とは何ですか? ワースト 現実世界 マクロやプリプロセッサの悪用に出会ったことがありますか(IOCCCの作為的な回答はご遠慮ください *haha*)?

本当に面白いのであれば、短い断片や物語を追加してください。目標は、いつも「マクロを使うな」と言うのではなく、何かを教えることです。


p.s.です。私は以前マクロを使ったことがあります...しかし、通常は"real"ソリューションがあるときに最終的にそれを取り除きます(たとえ本当のソリューションがインライン化されてマクロと似ているとしても)。


ボーナスです。 マクロを使った方が、マクロを使わない方法より本当に良かった例を挙げてください。

関連する質問 C++マクロはどのような場合に有効ですか?

どのように解決するのですか?

記憶では、次のような感じでした。

#define RETURN(result) return (result);}

int myfunction1(args) {
    int x = 0;
    // do something
    RETURN(x)

int myfunction2(args) {
    int y = 0;
    // do something
    RETURN(y)

int myfunction3(args) {
    int z = 0;
    // do something
    RETURN(z)

そうです、どの関数にも閉じ中括弧がありません。 シンタックスハイライトがめちゃくちゃだったので、彼はviを使って編集していました(vimにはシンタックスカラーリングがありますからダメですよ!)。

彼はロシア人プログラマーで、主にアセンブリ言語で仕事をしていた。 彼は以前、メモリが非常に制限されたシステムで仕事をしていたため、できるだけ多くのバイトを節約することに熱狂的でした。 バイト数が少ないので、各バイトをいろいろなことに使っています」(機械命令のバイトを数値で再利用するビットいじり)。 軌道に乗せるためのもの."

他にも2つの奇癖があった。モニターの上に凸面鏡を取り付け、誰が見ているのかを知ることができる。 そして、ときどき突然椅子から離れ、腕立て伏せを10回ほどすることだ。これは罰ゲームです。