【发布时间】:2011-03-31 15:02:01
【问题描述】:
我有一个带有一堆常量的 config.h 文件。 在 main.cpp 中,它将其中一个常量设置为某个值,然后调用 util.cpp 中的函数。
util.cpp也包含config.h,但是main.cpp设置的变量值不一样。
代码:
config.h:
static int MAX_NUMBER_OF_TRAINING_DATA = 1000;
main.cpp(主):
else if (strcmp(argv[i], "-mTrnData") == 0)
{
MAX_NUMBER_OF_TRAINING_DATA = atoi(argv[i + 1]);
cout << "Number of data sets to be generated: " << MAX_NUMBER_OF_TRAINING_DATA << "\n\n";
// prints what I tell it
}
在 utils.cpp 中
cout << "Number of data sets generated: " << MAX_NUMBER_OF_TRAINING_DATA << "\n\n";
// prints the default value (in this case, 1000)
那么,我该如何解决这个问题,以便在我的 cpp 文件中记住我的 config.h 常量文件?
在 Java 中,您可以执行 Config.NAME_OF_CONSTANT ,因此,如果有办法在 C++ 中执行此操作,那就太好了。
我知道常量不应该改变,但它们唯一改变的时间是在 main() 中,从正在运行的程序中读取参数时......之后它们就不会改变。
【问题讨论】:
-
一个改变值的变量很难被认为是一个常量。
标签: c++