ラッパーを作成していてint
、すべての演算子のオーバーロードを提供する必要があるとします。作成者はすべてをリストする必要がありますか、または作成者が提供したものに基づいて自動生成できますか? コンパイラは、既存の演算子から新しい自動定義演算子を推測できますか?
を定義するoperator==
と、operator!=
自動的に が表示されますか? それともその逆?
を定義すると、無料operator++()
で入手できますか? operator++(int)
それともその逆?
+=
タイプビジネスはどうですか?operator+
の既存の定義をと組み合わせてoperator=
を生成できoperator+=
ますか? 理論的には可能なはずですが、そうですか?
>=
toなどについても同じ質問ですが、、、 の<
定義を完全に列挙する必要がありますか?>
>
>=
<=