[解決済み] あなたが今まで遭遇した最悪の実戦的マクロ/プリプロセッサの乱用は何ですか?
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回ほどすることだ。これは罰ゲームです。
関連
-
[解決済み】C++エラー。アーキテクチャ x86_64 に対して未定義のシンボル
-
[解決済み] [Solved] Error C1083: Cannot open include file: 'stdafx.h'
-
[解決済み】C++エラーです。"配列は中括弧で囲まれたイニシャライザーで初期化する必要がある"
-
[解決済み】IntelliSense:オブジェクトに、メンバー関数と互換性のない型修飾子がある
-
[解決済み】fpermissiveフラグは何をするのですか?
-
[解決済み】オブジェクト引数のない非静的メンバ関数の呼び出し コンパイラーエラー
-
[解決済み] 非静的データメンバの無効な使用
-
[解決済み】CMakeエラー at CMakeLists.txt:30 (project)。CMAKE_C_COMPILER が見つかりませんでした。
-
[解決済み] 数値定数の前にunqualified-idを付けて、数値を定義することを期待する。
-
[解決済み】演算子のオーバーロード C++; <<操作のパラメータが多すぎる
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C++でint型に無限大を設定する
-
[解決済み】Visual Studio 2015で「非標準の構文; '&'を使用してメンバーへのポインターを作成します」エラー
-
[解決済み】C++でユーザー入力を待つ【重複あり
-
[解決済み】抽象クラス型の無効なnew-expression
-
[解決済み】c++でstd::vectorを返すための効率的な方法
-
[解決済み】エラー。switchステートメントでcaseラベルにジャンプする
-
[解決済み】オブジェクト引数のない非静的メンバ関数の呼び出し コンパイラーエラー
-
[解決済み】'std::cout'への未定義の参照
-
[解決済み] C# プリプロセッサーでのマクロ定義
-
[解決済み] C++のマクロはどんなときに有益か?[クローズド]