class A
{
public:
A (unsigned _a) : a (_a)
{
}
operator unsigned&()
{
return a;
}
operator const unsigned() const
{
return a;
}
unsigned a;
};
在上面的例子中,我創建了兩個類型轉換運算符,一個給出引用,一個給出副本。兩者都有缺點。任何建議?類型轉換重載的最佳做法是什麼?
由於C++允許使用類型轉換運算符,因此我們如何充分利用它以及在哪裏?
如果您'運營商無符號()'常數(即'運營商無符號()const'),那麼你可以(也應該)兼得。 – ildjarn
也請確保你閱讀了足夠的在線資料,告訴他們爲什麼有一個壞主意有轉換操作員(他們不稱爲「轉換操作員」,因爲它是一個轉換,而不是一個演員,並且不,不存在「 implcit cast「) – PlasmaHH