小编use*_*120的帖子

如何使用C++模板理解输出结果

我用C++模板写了偶数/奇数的判断代码.

#include <iostream>

template <int N, int Mod2=N%2>
struct Print {
  Print() {
    std::cout << N << std::endl;
  }
};

template <int N>
struct Print<N, 0> {
  Print() {
    std::cout << "Even!" << std::endl;
  }
};

template <int N>
struct Print<N, 1> {
  Print() {
    std::cout << "Odd!" << std::endl;
  }
};

template <int N>
struct EvenOdd {
  EvenOdd() {
    EvenOdd<N+1>();
    Print<N>();
  }
};

template <>
struct EvenOdd<10> {
  EvenOdd() {
    std::cout << "Hey!" << std::endl;
  }
};

int main() …
Run Code Online (Sandbox Code Playgroud)

c++ templates

3
推荐指数
2
解决办法
184
查看次数

标签 统计

c++ ×1

templates ×1