2017-08-01 19 views
0

我有void operator+operator+=
我該如何重疊它們。我知道如果我在這兩個函數中複製相同的代碼,它將起作用。我更加好奇,有沒有更短的方式,而不需要複製整個代碼?是否有一個捷徑重疊運算符?

+0

你真的認爲這是足夠的細節,你有什麼以及爲什麼你不喜歡它? – StoryTeller

+0

給他人打電話 –

+0

@StoryTeller對不起,我不明白你想說什麼。你能詳細說明嗎? – King23

回答

0

你可以實現一個和調用從另一個,我的意思是,你並不真的需要複製該代碼,請記住,

c += 20; 

相同

c = c + 20; 

所以你+運營商應該代替重複代碼,明智地呼叫超負荷的+ =運營商

+1

不是。傳統智慧建議用相反的方式來調用它,並正確調整參數。 – StoryTeller

+0

嗨! @StoryTeller,感謝您的評論....但我沒有發現好處...你能告訴我更多 –

+3

'foo operator +(foo lhs,foo const&rhs){lhs + = rhs;返回lhs; }'。這是簡短而整潔的,因爲C++ 17非常容易受到複製elision和NRVO的影響。 – StoryTeller

相關問題