8
プリプロセッサマクロが悪である理由と代替手段は何ですか?
私はいつもこれを尋ねてきましたが、本当に良い答えを受け取ったことはありません。最初の「Hello World」を書く前のほとんどのプログラマーは、「マクロは使用してはならない」、「マクロは悪だ」などのフレーズに遭遇したと思います。私の質問は、なぜですか?新しいC ++ 11では、何年も経たないうちに本当の選択肢はありますか? 簡単な部分は、のようなマクロです#pragma。これは、プラットフォーム固有およびコンパイラ固有であり、ほとんどの場合、#pragma once少なくとも2つの重要な状況でエラーが発生しやすいという重大な欠陥があります。異なるパスに同じ名前があり、一部のネットワークセットアップとファイルシステムにエラーがあります。 しかし、一般的に、マクロとその使用法の代替についてはどうでしょうか?