&
クラス内で単項演算子を次のようにオーバーロードできます。
struct X
{
void* operator &()
{
return this;
}
};
アドレスを返すようにします。クラスの外でどのようにオーバーロードしますか:
struct X
{
};
void* operator &(const X& x)
{
//how?
}
パラメータのアドレスを取得すると、無限再帰が発生します。
&
クラス内で単項演算子を次のようにオーバーロードできます。
struct X
{
void* operator &()
{
return this;
}
};
アドレスを返すようにします。クラスの外でどのようにオーバーロードしますか:
struct X
{
};
void* operator &(const X& x)
{
//how?
}
パラメータのアドレスを取得すると、無限再帰が発生します。
C ++ 11には、がありtemplate< class T > T* std::addressof(T& arg)
ます。
BoostUtilityからC++03用の同じ関数を入手することもできます