明示的な型変換演算子と C 入門書の違いを考え、より有意義な例を提供するために、著者は多くの考察を費やしましたので、よく理解してください。
型変換演算子
次の例を見てください。
この時点で、 plural クラス、double 型の型変換演算子を定義します。取得したら、次のように使用できます:
##出力結果は次のとおりです: complex is not 出力演算子がサポートされているため、コンパイラーは c1 を double 型に変換して出力しようとします。ここまでは順調ですね。本当に double に変換しますか?
次のコードをもう一度見てください: If数学から 観点から見ると、2.23606 が出力されるはずです。しかし実際には、このコードはコンパイルすらできません。その理由は、コンパイラにはこのコードに対して 2 つのオプションがあるためです: 1 つは c1 を double に変換してから 1 を加算することであり、もう 1 つは 1 を複素数 (1 0i) に変換してから複素加算を実行することです。 プログラマにアイデアを教えてもらいたい。明示的な型変換演算子
曖昧さを排除するための 1 つの方法は、明示的な型変換を使用して暗黙的な double 型変換を禁止することです。コードは次のとおりです。 暗黙的な型変換ができないため、次のコードではコンパイル エラーが発生します。二重出力への変換が正しいかどうかを判断するのは難しいため、これは大きな問題ではありません。このコードは、出力演算子のオーバーロードを通じて複数形式の出力関数を提供しています。 出力は次のとおりです。 これが私たちが本当に望んでいることです。
追加ポイント
必要に応じて、次のようにエンコードすることもできます: この記事を検索役立つ?もっと多くの人にシェアしてください。 関連する推奨事項: #C 言語チュートリアル以上がC++11 共通構文 - 明示的な型変換演算子の具体的な使用法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。