我有一些需要转换为 C++ 的 C。
它做这样的事情:
enum
{
ELEM0,
ELEM1,
ELEM2,
ELEM3,
ELEM4,
MAX_ELEMS
}
#define LEN 16
static const char lut[MAX_ELEMS][LEN] =
{
[ELEM2] = "Two",
[ELEM3] = "Three",
[ELEM1] = "One",
[ELEM4] = "Four",
[ELEM0] = "Zero"
}
在实践中,我有数百个元素在数组中没有任何顺序。我需要保证数组中的条目将枚举与适当的文本联系起来。
是否可以在 -std=gnu++11 中使用像这样的位置参数来初始化数组?