Мое общее правило - передавать по значению для примитивных типов и передавать по ссылке для объектов (очевидно, const'd, если это необходимо). Однако я не уверен, какой маршрут выбрать для перечисленных типов. Я бы предположил, что передача по значению предпочтительнее, так как они кажутся маленькими, но я хотел бы услышать мысли других.