当我有测试数据对象或其他静态数据对象(如 SQL 字符串)时,我喜欢将它们放在应用程序代码之外。在 Python 中,这是通过一个单独的源文件和一个导入完成的,如下所示。静态数据是如何组织和使用C++的?
(file: testdata.py)
x = Foo() (an object)
x.name = "Bar"
x.number = 123
..
(file: test.py)
import testdata.py
testObject1 = testdata.x
..
最佳答案
有很多可能性。这也取决于您尝试做什么(例如,您是希望值在编译后可编辑还是仅在编译前可编辑?
至于后者,您可以使用单独的翻译单元。
在一些头文件中:
extern const char *name;
extern const int number;
在一个单独的源文件中:
const char *name = "Bar";
const int number = 123;
但是,您也可以使用类/结构方法:
头文件:
struct Foo {
const char *name;
int number;
};
extern const Foo Bar;
源文件:
const Foo Bar = {"Bar", 123};
关于c++ - 在 C++ 中类似 Python 的静态数据存储?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9761065/