C ++: É melhor passar uma enumeração como um valor ou como uma referência cons
Há duas perguntas relacionadas aqui:
A) Como o enum é implementado? Por exemplo, se eu tiver o código:
enum myType
{
TYPE_1,
TYPE_2
};
O que realmente está acontecendo? Sei que você pode tratar TYPE_1 e TYPE_2 como ints, mas na verdade são apenas ints?
B) Com base nessas informações, supondo que a enum passada não precise ser alterada, faria mais sentido passar o myType para uma função como um valor ou como uma referência cons
Por exemplo, qual é a melhor escolha:
void myFunction(myType x){ // some stuff }
o
void myFunction(const myType& x) { // some stuff }