Здесь есть два связанных вопроса:
A) Как реализован enum?Например, если у меня есть код:
enum myType
{
TYPE_1,
TYPE_2
};
Что на самом деле происходит?Я знаю, что вы можете рассматривать TYPE_1 и TYPE_2 как целые, но действительно ли они являются просто целыми числами?
B) Исходя из этой информации, предполагая, что переданное перечисление не нужно изменять, будет ли это большесмысл передавать myType в функцию как значение или как константную ссылку?
Например, какой вариант лучше:
void myFunction(myType x){ // some stuff }
или
void myFunction(const myType& x) { // some stuff }