私はC++で非常に小さくてシンプルなIntegerクラスラッパーをやっています.globalは次のようになります:
class Int
{
...
private:
int value;
...
}
考えられるほとんどすべての割り当てを処理しましたが、ネイティブの左割り当てを取得するために使用する必要がある演算子の種類がわかりません。
例えば:
Int myInteger(45);
int x = myInteger;
変換演算子を int に変換したい場合があります。
class Int
{
public:
operator int() const { return value; }
...
};
これにより、次の初期化が可能になります。int
int x = myInteger;
C++11 では、その変換を に制限するかint
、または から別のものへのさらなる変換を許可するかを決定できint
ます。に制限するint
には、explicit
変換演算子を使用します。
explicit operator int() const { return value; }
ただし、この場合はおそらく必要ありません。