Ответы были довольно солидными, но, честно говоря, я не могу придумать ХОРОШУЮ ситуацию, чтобы использовать это. Однако, если вы хотите предварительно вычислить константу, которая, в основном, и делается, у вас есть несколько основных способов Вы можете сделать это.
Сначала мы можем сделать следующее. Таким образом, компилятор просто установит CompileA # для нас, в данном случае это 50, 100 и 150.
const int CompileA1 = EarlyCalc(1);
const int CompileA2 = EarlyCalc(2);
const int CompileA3 = EarlyCalc(3);
int EarlyCalc(int a)
{
a *= 50;
return a;
}
Теперь, кроме этого, есть так много способов справиться с этим. Мне понравилось предложение, как кто-то еще упомянул о выполнении.
void SomeFunc(int a)
{
const int A = EarlyCalc(a);
//We Can't edit A.
}
Но другой путь мог бы быть ...
SomeFunc(EarlcCalc(a));
void SomeFunc(const int A)
{
//We can't edit A.
}
Или даже ..
SomeFunction(int a)
{
a *= 50;
ActualFunction(a);
}
void ActualFunction(const int A)
{
//We can't edit A.
}