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