C ++: что лучше передать перечисление как значение или как константную ссылку?

Здесь есть два связанных вопроса:

A) Как реализовано перечисление? Например, если у меня есть код:

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 }
23
задан Casey Patton 26 July 2011 в 18:15
поделиться