Здравствуйте, AcidTheProgrammer, Вы писали:
ATP>всем добрый вечер!
ATP>Вот возник такой вопрос:
ATP>Можно ли Шаблоны С++ заменить похожими по действию макросами, или они делают нечто большее чем просто подстановку?
Сможешь с помощью макросов переписать этот код?
// primary template to compute 3 to the Nth
template<int N>
class Pow3 {
public:
enum { result=3*Pow3<N-1>::result };
};
// full specialization to end the recursion
template<>
class Pow3<0> {
public:
enum { result = 1 };
};
Или с помощью макросов написать аналогичный код, и не получить при этом ошибку компиляции?
template <typename T>
struct test
{
void f() { T::n = 0; }
};
int main()
{
test<int> t;
return 0;
}