有問題的代碼:如何閱讀這個操作符聲明和實現?
struct PCArea {
PCArea(
int minxx = 0,
int minyy = 0,
int maxxx = 0,
int maxyy = 0
) {}
};
struct NDCVolume {
NDCVolume() {}
operator PCArea() const;
};
// how does this operator work? how to use/read it?
NDCVolume ::operator PCArea() const {
return PCArea(iminx, iminy, imaxx, imaxy);
}
冗餘代碼已經從片段中刪除。我已經使用Visual Studio>查找所有引用,但無法找到它正在使用的地方。對我來說,它看起來像一個沒有指定返回值的成員方法。
這與以下不同嗎?
PCArea NDCVolume::PCArea() const;
現在我必須檢查是否可以隱式轉換並分配給PCArea和區域。 – Jake 2012-07-20 09:03:57
@Jake:不要那樣做,以供參考。因爲你會將引用綁定到局部變量。但是你可以將結果綁定到'const&' - 在這種情況下,對象的生存期將會延長 – Andrew 2012-07-20 09:05:39
的理解,只是想檢查陷阱。謝謝=) – Jake 2012-07-20 09:42:30