C++: Is it better to pass an enum as a value or as a const reference?

Speed wise it almost certainly doesn’t matter – any decent C++ compiler is just going to pass a single int.

The important point is readability – which will make your code more obvious to the reader?

If it’s obvious that these enums are really just ints then I would pass them by value, as if they were ints. Using the const ref might cause a programmer to think twice (never a good idea!)

However – if you are later going to replace them with a class then keeping the API the same and enforcing the const-ness might make sense.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)