C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++での型キャスト演算子


キャストは、あるデータ型を別のデータ型に強制的に変換する特別な演算子です。演算子として、acastは単項であり、他の単項演算子と同じ優先順位を持ちます。

ほとんどのC++コンパイラでサポートされている最も一般的なキャストは次のとおりです

(type) expression

ここで、typeは目的のデータ型です。 C ++でサポートされている他のキャスト演算子があり、それらは以下にリストされています-

  • <強い>? const_cast (expr) const_cast演算子は、キャスト内のconstやvolatileを明示的にオーバーライドするために使用されます。ターゲットタイプは、constまたはvolatile属性の変更を除いて、ソースタイプと同じである必要があります。このタイプのキャストは、渡されたオブジェクトのconst属性を操作して、設定または削除します。

  • <強い>? dynamic_cast (expr) dynamic_castは、キャストの有効性を検証するランタイムキャストを実行します。キャストを作成できない場合、キャストは失敗し、式はnullと評価されます。 dynamic_castは、ポリモーフィックタイプでキャストを実行し、ポイントされているオブジェクトが実際にBオブジェクトである場合にのみ、A*ポインターをB*ポインターにキャストできます。

  • <強い>? reinterpret_cast (expr) reinterpret_cast演算子は、ポインターを他のタイプのポインターに変更します。また、ポインタから整数型へのキャスト、およびその逆のキャストも可能です。

  • <強い>? static_cast (expr) static_cast演算子は、非ポリモーフィックキャストを実行します。たとえば、基本クラスポインタを派生クラスポインタにキャストするために使用できます。

上記のすべてのキャスト演算子は、クラスとオブジェクトを操作するときに使用されます。今のところ、次の例を試して、C++で使用できる簡単なキャスト演算子を理解してください。次のC++プログラムをコピーしてtest.cppファイルに貼り付け、このプログラムをコンパイルして実行します。

サンプルコード

#include <iostream>
using namespace std;
main() {
   double a = 21.09399;
   float b = 10.20;
   int c ;
   c = (int) a;
   cout << "Line 1 - Value of (int)a is :" << c << endl ;
   c = (int) b;
   cout << "Line 2 - Value of (int)b is :" << c << endl ;
   return 0;
}

出力

Line 1 - Value of (int)a is :21
Line 2 - Value of (int)b is :10

  1. C / C ++での型キャストとは何ですか?

    型キャストは、変数をあるデータ型から別のデータ型に変換する方法です。たとえば、「long」値を単純な整数に格納する場合は、「cast」「long」を「int」と入力できます。 キャスト演算子を使用して、値をあるタイプから別のタイプに明示的に変換できます。 次のように- (type_name) expression キャスト演算子によって、ある整数変数を別の整数変数で除算することが浮動小数点演算として実行される次の例を考えてみます- 例 #include <stdio.h> main() {    int sum = 17, count = 5;  

  2. C++の算術演算子

    C++には5つの基本的な算術演算子があります。彼らは- 追加(+) 減算(-) 分割(/) 乗算(*) モジュロ(%) 例 これらの演算子は、C++の任意の算術演算を操作できます。例を見てみましょう- #include <iostream> using namespace std; main() {    int a = 21;    int b = 10;    int c ;    c = a + b;    cout << "Line 1 - Va