私はノブがたくさんある科学的なプログラムを書いています。コマンド ライン オプションを頻繁に追加したり削除したりするのではなく、追加extern
の構成用にスコープ変数を追加しています。これらの変数は 1 つのローカル スコープでのみ使用され、専用のソース ファイルで一緒に定義されますargs.cpp
。このファイルにはヘッダーが含まれていないため、再コンパイルして実行可能ファイルを再リンクしてオプションを変更するのに 1 秒しかかかりません。
// big_slow_compiling_source.cpp:
{
extern double fudge_rate;
quantity += correction * fudge_rate;
}
// args.cpp:
/* Configuration for big_slow_compiling_source.cpp: */
double fudge_rate = 3.2;
このイディオムに名前はありますか?私は彼らを「ローカル外部」と呼んでいますが、もっと良い用語があるはずです。
既知の落とし穴はありますか?