【发布时间】:2015-10-30 10:33:58
【问题描述】:
我有一组数字及其对应的字符串
1 -> 关机
2 -> 休眠
3 -> 睡眠
4 -> 重启
5 -> 锁定
这个列表可以去更大的数字映射到字符串
我很想知道我们可以通过使用 C 程序来实现这一目标的任何方法,我想如果在面向对象的 C#、C++ 中映射可以很容易。我相信很难放#define。
输入为整数,返回对应的字符串值。如果我们可以让它变得非常高效,那将是非常有帮助的,因为我们可能会遇到这个多重时代。
【问题讨论】:
-
你可以只使用一个字符串数组并使用索引之类的数字吗?
-
如果列表不变,可以考虑X-macros。
-
如果数字相邻,使用普通数组。如果数字可以是任何数字,请使用哈希表。
-
@user694733 对于几乎任何目的来说都是非常糟糕的主意......
-
@Lundin 这不是万能的解决方案,但对于简单快速的词典来说,它只是工具箱中的另一个工具。
标签: c string struct enums integer