Hay dos preguntas relacionadas de este tipo:C++: ¿Es mejor pasar una enumeración como un valor o como una referencia constante?
A) ¿Cómo se implementa enum? Por ejemplo, si tengo el código:
enum myType
{
TYPE_1,
TYPE_2
};
¿Qué está sucediendo realmente? Sé que puedes tratar a TYPE_1 y TYPE_2 como a ints, ¿pero en realidad son solo enteros?
B) En base a esa información, suponiendo que la enum aprobada no necesita ser cambiada, ¿tendría más sentido pasar myType en una función como un valor o como una referencia constante?
Por ejemplo, cuál es la mejor opción:
void myFunction(myType x){ // some stuff }
o
void myFunction(const myType& x) { // some stuff }