This question already has answers here:
What makes a better constant in C, a macro or an enum?
                                
                                    (6个答案)
                                
                        
                                5年前关闭。
            
                    
我必须存储相同类型的倍数值。

我选择了数组。

但是该数组值将在程序的多个部分中使用。

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

arr[VALUE_1]


这里VALUE_1是宏

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

enums{
VALUE_1,
VALUE_2
}


我想知道枚举会消耗一些内存。

高效编程哪个更好?

最佳答案

我想知道枚举会消耗一些内存。


枚举器在运行时不存在。它们不是对象,而是常量。他们的名字是prvalues。

它们会在编译时立即被其值替换。因此,无论如何都没有性能差异。

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

关于c++ - 枚举或宏。哪个更好,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24281295/

10-14 14:25
查看更多