1

我目前有一个包含 20 多个定义的头文件。这些定义设置了各种对象的属性。现在我必须将这些定义移动到一个配置文件中,这样当这些值之一发生变化时我就不必重建整个项目。我目前正在考虑拥有一个静态类,其静态属性是通过从配置文本文件中读取来设置的。有更好的方法吗?我知道我必须编写一个完整的文本解析器来检查文本文件中的键值,然后填充值。还有其他方法吗?检索地图值对的建议?

4

2 回答 2

2

如果你在 Windows 上,一个 ini 文件和 GetPrivateProfileString 又快又脏。

于 2013-05-11T03:44:07.607 回答
2

如果您只是想通过最小化重新编译来加快构建速度,则不需要编写自己的解析器。您可以只用 C++ 编写配置。

将参数声明放在包含文件中。

/* config.hpp */
class config
   {
public:
   static const int PARAM1;
   static const std::string PARAM2;
   static const double PARAM3;
   };

当需要更改配置时,编辑并重新编译以下 C++ 文件。

/* config.cpp */
const int config::PARAM1 = 1234;
const std::string config::PARAM2 = "hello";
const double config::PARAM3 = sin(M_PI/4);
于 2013-05-11T03:47:43.433 回答