作者yzugsr (Bird)
看板Programming
标题Re: [问题] 面试遇到的程式问题,现在还想不出来(MTK)
时间Fri Jan 4 18:28:58 2008
※ 引述《jeunder ()》之铭言:
: s =
: 0+1+2+3+4+5+6+7+8+9+
: 10+11+12+13+14+15+16+17+18+19+
: 20+21+22+23+24+25+26+27+28+29+
: 30+31+32+33+34+35+36+37+38+39+
: 40+41+42+43+44+45+46+47+48+49+
: 50+51+52+53+54+55+56+57+58+59+
: 60+61+62+63+64+65+66+67+68+69+
: 70+71+72+73+74+75+76+77+78+79+
: 80+81+82+83+84+85+86+87+88+89+
: 90+91+92+93+94+95+96+97+98+99+
: 100;
: // 呼~ 用 editor 复制贴上~ 有点累~
: → jeunder:接下来换谁要贴? 弄个 metaprogramming 吧 61.64.225.27 01/03 00:01
template <unsigned int n>
struct S {
enum { value = S<n-1>::value + n };
};
template<>
struct S <0> {
enum { value = 0 };
};
int _tmain(int argc, _TCHAR* argv[])
{
cout<<S<100>::value;
return 0;
}
我觉得不无聊啊....
要是你的程式在很critical的时候 要用到一堆不同整数的累加值、阶乘值
还是在compile-time算完最快
Metaprogramming的技巧可以看「C++设计新思维」
里面的code比这呕心几百倍 XDrz
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.124.99.126
※ 编辑: yzugsr 来自: 59.124.99.126 (01/04 18:30)
1F:→ revivalworld:那本书超硬的Orz 现在才吃掉一章 60.244.216.33 01/04 18:53
2F:→ revivalworld:还在龟速蚕食中....XD 60.244.216.33 01/04 18:53
3F:→ karcher:真的不太好念... XD 220.128.227.51 01/04 18:56
4F:推 avhacker:这本读起来很爽,第一次读时有重生的感觉 140.123.19.235 01/04 19:26
5F:推 jeunder:为什麽我说无聊? 因为明明就有公式~~~ 61.64.225.27 01/05 00:05