C ++で型変換を最適に実装する方法は?



この記事では、C ++での型変換を紹介し、その詳細なプログラムによるデモンストレーションを行います。

この記事では、型変換が行うさらに別の興味深いトピックを紹介します。 C ++ その後、詳細な実践的なデモンストレーションを行います。この記事では、次のポイントについて説明します。

それでは始めましょう、





C ++での型変換

型変換とは、ある型から別の型への変換を指します。型変換の背後にある主な考え方は、ある型の変数を別の型の変数と互換性を持たせて操作を実行することです。たとえば、int型とfloat型の2つの変数の合計を求めます。したがって、合計を見つけるために両方をfloat型にするために、castint変数をfloatに入力する必要があります。このブログでは、C ++で型変換を実行する方法を学習します。

C ++には、暗黙的な型変換と明示的な型変換の2種類の型変換があります。



暗黙的な型変換

暗黙的な型変換または自動型変換は、コンパイラー自体によって実行されます。あるタイプから別のタイプに変数をタイプキャストするためにユーザーが必要とする外部トリガーはありません。

これは、式に複数のタイプの変数が含まれている場合に発生します。したがって、これらのシナリオでは、データの損失を回避するために自動型変換が行われます。自動型変換では、式に存在するすべてのデータ型が、最大のデータ型を持つ変数のデータ型に変換されます。

以下は、自動型変換の順序です。型変換の最小から最大のデータ型とも言えます。



bool-> char-> short int-> int-> unsigned int-> long-> unsigned-> long long-> float-> double-> long double

暗黙的な変換では、符号付き型が暗黙的に符号なし型に変換されると符号が失われる可能性があり、longが暗黙的にfloatに変換されるとオーバーフローが発生するなど、情報が失われる可能性があります。

次に、C ++で暗黙的な型変換がどのように機能するかを理解するための例を見てみましょう。

#include using namespace std int main()12w {int int1 = 100 //整数int1char char1 = 'c' //文字char1 // char1は 'c'のASCII値を使用して暗黙的にintに変換されます。つまり99int1 = int1 + char1 // int1は暗黙的にfloatfloatに変換されますflt1 = int1 + 2.7 cout<< 'int1 = ' << int1 << endl << 'char1 = ' << char1 << endl << 'flt1 = ' << flt1 << endl return 0 }

出力

int1 = 199

char1 = c

flt1 = 201.7

次のC ++の記事での型変換では、

明示的な型変換

明示的な型変換または型キャストは、ユーザー定義の型変換です。明示的な型変換では、ユーザーはある型の変数を別の型に変換します。明示的な型変換は、C ++では2つの方法で実行できます。

  • 割り当てによる変換
  • キャスト演算子を使用した変換

次に、ある型を別の型に明示的に型キャストする各方法を見てみましょう。

割り当てによる変換

この型変換では、必要な型が括弧内の式の前に明示的に定義されています。データ損失は、明示的な型キャストで発生します。力強い鋳造と考えられています。例を見てみましょう。

#include using namespace std int main(){double dbl1 = 8.9 // doubleからintへの明示的な変換intres =(int)dbl1 + 1 cout<< 'Result = ' << res return 0 }

出力

結果= 9

次のC ++の記事での型変換では、

キャスト演算子を使用した変換

キャスト演算子は、あるデータ型を別のデータ型に強制的に変換する単項演算子です。 C ++には、静的キャスト、動的キャスト、定数キャスト、再解釈キャストの4種類のキャストがあります。

  • 静的キャスト - これは、使用できる最も単純なタイプのキャストです。アップキャストだけでなく、ダウンキャストも実行します。コンパイル時のキャストです。変換されるオブジェクトが宛先タイプの完全なオブジェクトであることを保証するために、実行時にチェックは実行されません。
  • ダイナミックキャスト –型変換の結果が、宛先ポインター型の有効で完全なオブジェクトを指すようにします。
  • Const Cast –オブジェクトが一定である必要があるか非一定である必要があるかを操作します。これにより、定数を設定または削除する必要があります。
  • キャストを再解釈する - 無関係なクラスであっても、ポインタ型を他のポインタ型に変換します。ポインタの種類とポインタが指すデータが同じかどうかはチェックされません。

静的キャストの例を見てみましょう。

SQLでピボットおよびアンピボット

#include using namespace std int main(){float flt = 30.11 //キャスト演算子を使用intint1 = static_cast(flt)cout< 

出力

30

これで、C ++での型変換に関するこの記事は終わりです。この有益でお役に立てば幸いです。同様のトピックに関するその他のチュートリアルにご期待ください。トレーニングプログラムもご覧ください。o jQueryとそのさまざまなアプリケーションに関する深い知識を得るには、次のことができます。 24時間年中無休のサポートと生涯アクセスを備えたライブオンライントレーニング用。

質問がありますか?この記事のコメントセクションでそれらに言及してください。折り返しご連絡いたします。