Re: [問題] 面試遇到的程式問題,現在還想不出來(MTK)
※ 引述《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)
→
01/04 18:53, , 1F
01/04 18:53, 1F
→
01/04 18:53, , 2F
01/04 18:53, 2F
→
01/04 18:56, , 3F
01/04 18:56, 3F
推
01/04 19:26, , 4F
01/04 19:26, 4F
推
01/05 00:05, , 5F
01/05 00:05, 5F
討論串 (同標題文章)