枚举或宏。哪个更好

时间:2014-06-18 09:00:00

标签: c++

我必须存储相同类型的倍数值。

我选择了数组。

但是这些数组值将用于程序的多个部分。

所以我决定使用Macro访问数组值。

arr[VALUE_1]

此处VALUE_1是宏

宏的另一种解决方法是枚举

enums{
VALUE_1,
VALUE_2
}

我想知道枚举会占用一些内存。

哪种方法更适合高效编程?

2 个答案:

答案 0 :(得分:3)

  

我想知道枚举会占用一些内存。

调查员不会在运行时存在。它们是对象,而是常量。他们的名字是prvalues。

它们在编译时被它们的值替换。所以无论如何都没有性能差异。

并遵循一般准则:首选enum到宏。

答案 1 :(得分:1)

在C ++中,枚举在运行时几乎与常量相同,因此在程序运行时与宏没有区别。但是,从源角度来看,编译器将枚举理解为捆绑在单个类型中的一组相关值。这对于检查代码的类型非常有用。此外,如果你还没有这样做,它将迫使你正确处理你的常量,以获得更好的整体代码库。

只需使用枚举。