C++ | Templates | Question 10
Output?
#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) Compiler Error
(B) 1024
(C) 2
(D) 1
Answer: (B)
Explanation: This is an example of template metaprogramming. The program mainly calculates 2^10.
Quiz of this Question
Attention reader! Don’t stop learning now. Get hold of all the important C++ Foundation and STL concepts with the C++ Foundation and STL courses at a student-friendly price and become industry ready.