头文件或库共享常量?

时间:2017-03-26 06:18:02

标签: c++ arduino

我正在使用LED库制作一些blinking lights。我发现使用数字颜色值有刺激性,所以我创建了自己的伽马校正颜色名称值列表(大约160个)

我想分享一下,并想知道什么是最好的格式(代码中)。我应该只有一个头文件:

    #define COLOR_somename 42
    #define COLOR_anothername 223

或者我宁愿定义一个类,以便可以访问这样的值:

ColorClass c = new ColorClass(); c.somecolor;

最有效率的是什么?

1 个答案:

答案 0 :(得分:0)

如果您可以使用C ++ 11,则可以使用作用域枚举:

        private void button1_click(object sender, EventArgs e)
    {
        foreach(Control ctrl in this.Controls)
        {
            ctrl.Left += 25;
        }
    }

请注意,作用域枚举不能隐式转换为整数。

另一种选择是使用常规枚举:

enum class Color {
    RED = 22,
    GREEN = 25
    // ...
};

定义并不好,一般来说我会避免它们以及分配颜色对象,因为它会在运行时花费你。

独立于头文件中的选择。