1. ホーム
  2. c++

[解決済み] C++-enumクラスを値として渡すか、それともconst参照として渡す方が良いですか?

2022-02-16 15:58:27

質問

クラス」と呼ばれているので、通常は const リファレンスとして渡しますが、enum を使用しても違いはないですよね?では、enum クラスを value/const ref として渡す場合、違いはあるのでしょうか? また、型は重要ですか?例えば、enum クラス:int

どのように解決するのですか?

enum class は積分値を保持し、通常の enum そのため、オーバーヘッドなく安全に値で渡すことができます。なお、コンパイラは参照渡しを値渡しに置き換えて最適化することがあります。しかし、そのような最適化を行わない場合、参照渡しをするとオーバーヘッドが発生する可能性があります。