Có hai loại câu hỏi liên quan ở đây:C++: Có tốt hơn để vượt qua một enum như một giá trị hoặc như một tham chiếu const?
A) Enum được triển khai như thế nào? Ví dụ: nếu tôi có mã:
enum myType
{
TYPE_1,
TYPE_2
};
Điều gì đang thực sự xảy ra? Tôi biết rằng bạn có thể xử lý TYPE_1 và TYPE_2 dưới dạng int, nhưng chúng thực sự chỉ là ints?
B) Dựa trên thông tin đó, giả sử rằng enum được truyền vào không cần phải thay đổi, sẽ có ý nghĩa hơn khi chuyển myType vào một hàm làm giá trị hoặc tham chiếu const không?
Ví dụ, đó là sự lựa chọn tốt hơn:
void myFunction(myType x){ // some stuff }
hoặc
void myFunction(const myType& x) { // some stuff }