Рубрики

C ++ | Шаблоны | Вопрос 10

Выход?

#include <iostream>

using namespace std;

   

template<int n> struct funStruct

{

    static const int val = 2*funStruct<n-1>::val;

};

   

template<> struct funStruct<0>

{

    static const int val = 1 ;

};

   

int main()

{

    cout << funStruct<10>::val << endl;

    return 0;

}

(A) Ошибка компилятора
(В) 1024
(С) 2
(D) 1

Ответ: (Б)
Пояснение: Это пример метапрограммирования шаблона . Программа в основном рассчитывает 2 ^ 10.
Тест на этот вопрос

Рекомендуемые посты:

C ++ | Шаблоны | Вопрос 10

0.00 (0%) 0 votes