1. ホーム
  2. c++

変数の代わりに#defineを使用する理由

2023-10-27 21:55:46

疑問点

のポイントは何でしょうか? #define は何のためにあるのでしょうか?私はそれが "マジックナンバー" の代わりに使用されている例しか見たことがありませんが、代わりにその値を変数に与えることの意味がわかりません。

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

最近はほとんど様式化されています。 Cが若かった頃、const変数というものはありませんでした。 ですから、もしあなたが変数の代わりに #define の代わりに変数を使用した場合、どこかの誰かがその値を変更してプログラム全体に大混乱を引き起こさないという保証はなかったのです。

昔は、FORTRANは定数でさえも参照によってサブルーチンに渡していたので、'2'のような定数の値を何か違うものに変えることは可能でした(そして頭痛の種でした)。 あるとき、私が取り組んでいたプログラムでこのようなことが起こり、何かが間違っていることを示す唯一のヒントは、プログラムが STOP 999 を打つと ABEND (異常終了) が発生することでした。