//逆序输出一个字符串
//失足程序员版
#include<iostream>
using namespace std;
const char str[]="\n!dlrow olleh";
template<int N>
struct Printer
{
void operator()()
{
cout<<*(str+N);
}
};
template<template<int> class C,int N>
struct Rev
{
Rev()
{
C <N>()();
Rev<C,N-1>();
}
};
template<template<int> class C>
struct Rev<C,0>
{
Rev()
{
C<0>()();
}
};
template<int N>
int len_trait(const char (&)[N]) //这里的N是关键
{
static Rev<Printer,N> rev;
return 0;
}
int dummy=len_trait(str);
int main(int argc,char **argv)
{
return 0;
}
C++版 失足程序员
最新推荐文章于 2024-07-13 19:27:27 发布