ここには2つの関連する質問があります。
A)列挙型はどのように実装されますか?たとえば、私がコードを持っている場合:
enum myType
{
TYPE_1,
TYPE_2
};
実際に何が起こっているのですか?TYPE_1とTYPE_2をintとして扱うことができることは知っていますが、実際には単なるintですか?
B)その情報に基づいて、渡された列挙型を変更する必要がないと仮定すると、myTypeを値またはconst参照として関数に渡す方が理にかなっていますか?
たとえば、どちらがより良い選択です:
void myFunction(myType x){ // some stuff }
また
void myFunction(const myType& x) { // some stuff }