我缺乏使用 C++ 的经验,我正在尝试创建一个设置文件以将我所有的定义和全局变量放在那里,这样我的项目的类就可以从那里访问这些值。 Settings.h 文件可能如下所示:
#ifndef SETTINGS_H_
#define SETTINGS_H_
#define COLOR_BLUE = Vec3b(255, 0, 0);
#define COLOR_GREEN = Vec3b(0, 255, 0);
#define NOT_SET = 0;
#define IN_PROCESS = 1;
#define SET = 2;
#define FGD_PX = 255;
#define BGD_PX = 127;
#include <cv.h>
using namespace cv;
class Settings {
};
#endif /* SETTINGS_H_ */
想法是在不实例化类的情况下访问变量,而只是包含它。
有什么漂亮的方法可以做到这一点吗?
干杯,
最佳答案
#include <cv.h>
using namespace cv;
#ifndef SETTINGS_H_
#define SETTINGS_H_
#define COLOR_BLUE Vec3b(255, 0, 0)
#define COLOR_GREEN Vec3b(0, 255, 0)
#define NOT_SET 0
#define IN_PROCESS 1
#define SET 2
#define FGD_PX 255
#define BGD_PX 127
class Settings {
public:
static int var1;
static float var2;
static short var3;
};
// initialization
int Settings::var1 = SET;
float Settings::var2 = 3.14;
short Settings::var3 = BGD_PX;
#endif /* SETTINGS_H_ */
用法:
int tmp = Settings::var1;
关于C++ 宏整数和对象定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20036456/