我正在编写一个有很多旋钮的科学程序。我不是经常添加和删除命令行选项,而是为额外的配置位添加了范围extern
变量。这些变量仅在一个本地范围内使用,并在专用源文件args.cpp
中一起定义。该文件不包含头文件,因此只需要一秒钟就可以重新编译它并重新链接可执行文件以更改任何选项。
// 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;
这个成语有名字吗?我一直把它们称为“本地外部”,但必须有更好的术语。
任何已知的陷阱?