Если вы хотите связать какое-то постоянное значение с классом, вот два способа достижения одной и той же цели:
class Foo
{
public:
static const size_t Life = 42;
};
class Bar
{
public:
enum {Life = 42};
};
Синтаксически и семантически они кажутся идентичными с клиентской точки зрения:
size_t fooLife = Foo::Life;
size_t barLife = Bar::Life;
Есть ли какая-то другая причина, кроме только чистого стиля, почему вы предпочитаете другого?