0
friend istream& operator>>(istream &is, Complex &c) {
int re;
int im;
is >> re >> im;
c.setReal(re);
c.setImaginary(im);
return is;
}
有沒有什麼辦法可以做到這一行或兩行?也許類似的,我可以縮短這個istream函數嗎?
is >> setReal() >> setImaginary();
這些函數雖然需要一個int,但我不知道如何編碼。
您可以但爲什麼?它的工作原理非常清晰。我會爭辯說一個更短的解決方案將更難以閱讀。爲了縮短它,你需要返回一個非const引用到Complex類型的字段,那麼你可以這樣做:is >> c.real >> c.imaginary' – 2013-02-19 01:37:13
請檢查產生的彙編語言以查看是否存在是足夠好的原因,以減少某事的一線。就我個人而言,我喜歡你的文章中的代碼的清晰度。 – 2013-02-19 01:40:29
你的代碼沒有正確地失敗... – 2013-02-19 01:41:32