因为它被称为'类',我通常会将它作为const引用传递给它,但是如果我使用普通的枚举,它没有任何区别对吗?如果我将枚举类作为value/const ref传递,那么它会有所不同吗?此外,类型是否重要?例如,枚举类:int
use*_*670 13
enum class
保持一个整数值就像一个常规值,enum
所以你可以安全地传递值,没有任何开销.请注意,编译器有时可以通过引用来优化传递,也可以使用pass by value替换它.但是,当不应用这样的优化时,通过引用传递可能导致一些开销.
作为一个非常广泛的经验法则,将普通的旧数据类型作为值传递,并将类实例作为const
引用传递。
这条规则也有例外;事实上,现在的流行趋势在构建复制构造函数时喜欢依赖按值传递,然后是移动语义。
对于enum class
C++11的新东西,按值传递它(毕竟它只包含一个整数类型)并信任编译器进行优化。
如果您有任何疑问,请分析任何性能差异。