Re: [問題] operator overloading c++
看書說,C++不能定義新的operator。
好比想把 pow(a,n) 寫成 a**n 是不可行的
那請問板上大牛是如何實現的呢
或是通常會怎處理呢,謝謝
※ 引述《Fenikso (ばかちーは俺の嫁)》之銘言:
: 又到了寫低能code的時間~
: 以下VS2008限定, 2005或更早的可能不行
: gcc的-fextended-identifiers還是個半成品(敲碗)
: #define ! + 階乘()
: /* 這是全形的"!" 不是"!" */
: struct 階乘{};
: int operator+(int x, const 階乘& y) {
: int j = 1;
: for(int i=1; i<=x; i++) j *= i;
: return j;
: }
: int main() {
: cout << 5! << endl;
: int a = 6;
: cout << a ! << endl; // a和!中間要有空格 不然會被當成一個identifier
: return 0;
: }
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.112.80.230
推
05/14 22:13, , 1F
05/14 22:13, 1F
推
05/14 22:45, , 2F
05/14 22:45, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 5 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章