всестатическое членное время распределения переменных
, когда эта переменная должна быть c.value caculating?
время компиляции? или время выполнения?
template<int A, typename T>
struct foo
{
static const T value = A + foo<A-1, T>::value;
};
template<typename T>
struct foo < 0, T >
{
static const T value = 0;
};
int main(void)
{
foo<4, int> c;
cout << c.value << endl;
return 1;
}
это вычислить значение рекурсивно, но это значение константным, не изменяется во время выполнения, а затем я думаю, что это нормально Caculation на время компиляции.
Правильно ли он думает?