C++ 要共享常量的头文件或库?
我正在和一个LED图书馆合作制作一些。我发现使用数字颜色值很烦人,所以我创建了自己的gamma校正颜色名称值列表(大约160个) 我想和大家分享一下,并想知道什么是最好的格式(在代码中)。我应该只有一个头文件:C++ 要共享常量的头文件或库?,c++,arduino,C++,Arduino,我正在和一个LED图书馆合作制作一些。我发现使用数字颜色值很烦人,所以我创建了自己的gamma校正颜色名称值列表(大约160个) 我想和大家分享一下,并想知道什么是最好的格式(在代码中)。我应该只有一个头文件: #define COLOR_somename 42 #define COLOR_anothername 223 或者我宁愿定义一个类,这样就可以访问如下值: ColorClass c=新的ColorClass(); c、 某种颜色; 高效的最佳方法是什么?如果可以使
#define COLOR_somename 42
#define COLOR_anothername 223
或者我宁愿定义一个类,这样就可以访问如下值:
ColorClass c=新的ColorClass();
c、 某种颜色;
高效的最佳方法是什么?如果可以使用C++11,则可以使用作用域枚举:
enum class Color {
RED = 22,
GREEN = 25
// ...
};
请考虑作用域枚举不能隐式转换为整数
另一个选项是使用常规枚举:
enum Color {
COLOR_RED = 22,
COLOR_GREEN = 25
// ...
};
定义是不好的,一般来说,我会避免使用它们,并分配一个颜色对象,因为这将在运行时花费您的时间
独立于您的选择,它应该在头文件中。然后将枚举填充到头文件中?我是C(对于Arduino)@stwissel中的总n00b,是的,您应该在头中编写它,以便能够在单独的cpp文件中使用它。请注意,C++11将需要Arduino IDE和GCC的相当新的版本。