作者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)
→ revivalworld:那本書超硬的Orz 現在才吃掉一章 60.244.216.33 01/04 18:53
→ revivalworld:還在龜速蠶食中....XD 60.244.216.33 01/04 18:53
→ karcher:真的不太好唸... XD 220.128.227.51 01/04 18:56
推 avhacker:這本讀起來很爽,第一次讀時有重生的感覺 140.123.19.235 01/04 19:26
推 jeunder:為什麼我說無聊? 因為明明就有公式~~~ 61.64.225.27 01/05 00:05