工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Industrial programming >> C言語

C++ 型変換

C++ 型変換

このチュートリアルでは、例を使用して C++ 型変換の基本について学習します。

C++ を使用すると、ある型のデータを別の型に変換できます。これは型変換として知られています。

C++ には 2 種類の型変換があります。

<オール>
  • 暗黙の変換
  • 明示的な変換 (型キャストとも呼ばれます)

  • 暗黙の型変換

    コンパイラによって自動的に行われる型変換は、暗黙的な型変換として知られています。このタイプの変換は、自動変換とも呼ばれます。

    暗黙の型変換の 2 つの例を見てみましょう。


    例 1:int から double への変換

    // Working of implicit type-conversion
    
    #include <iostream>
    using namespace std;
    
    int main() {
       // assigning an int value to num_int
       int num_int = 9;
    
       // declaring a double type variable
       double num_double;
     
       // implicit conversion
       // assigning int value to a double variable
       num_double = num_int;
    
       cout << "num_int = " << num_int << endl;
       cout << "num_double = " << num_double << endl;
    
       return 0;
    }

    出力

    num_int = 9
    num_double = 9

    プログラムでは、int を割り当てています。 double へのデータ

    num_double = num_int;

    ここでは、int 値は自動的に double に変換されます num_double に割り当てられる前にコンパイラによって 変数。これは暗黙の型変換の例です。


    例 2:double から int への自動変換

    //Working of Implicit type-conversion
    
    #include <iostream>
    using namespace std;
    
    int main() {
    
       int num_int;
       double num_double = 9.99;
    
       // implicit conversion
       // assigning a double value to an int variable
       num_int = num_double;
    
       cout << "num_int = " << num_int << endl;
       cout << "num_double = " << num_double << endl;
    
       return 0;
    }

    出力

    num_int = 9
    num_double = 9.99

    プログラムでは、double を割り当てています。 int へのデータ

    num_double = num_int;

    ここでは、double 値は自動的に int に変換されます num_int に割り当てられる前にコンパイラによって 変数。これも暗黙の型変換の例です。

    注: int以降 に小数部分を含めることはできません。上記の例では、小数点以下の桁が切り捨てられています。


    変換中のデータ損失 (縮小変換)

    上記の例からわかるように、あるデータ型から別のデータ型への変換では、データが失われる傾向があります。これは、大きな型のデータが小さな型のデータに変換されるときに発生します。

    <図>

    C++ の明示的な変換

    ユーザーがデータをあるタイプから別のタイプに手動で変更することを、明示的な変換と呼びます .このタイプの変換は、型キャストとも呼ばれます .

    C++ で明示的な変換を使用するには、主に 3 つの方法があります。それらは:

    <オール>
  • C スタイルの型キャスト (キャスト記法とも呼ばれます) )
  • 関数表記 (古い C++ スタイルの型キャストとも呼ばれます) )
  • 型変換演算子

  • C スタイルの型キャスト

    名前が示すように、このタイプのキャストは C プログラミング言語 で好まれています。 . キャスト記法とも呼ばれます .

    このスタイルの構文は次のとおりです:

    (data_type)expression;

    たとえば、

    // initializing int variable
    int num_int = 26;
    
    // declaring double variable
    double num_double;
    
    // converting from int to double
    num_double = (double)num_int;

    関数スタイルのキャスト

    function like 表記を使用して、ある型から別の型にデータをキャストすることもできます。

    このスタイルの構文は次のとおりです:

    data_type(expression);

    たとえば、

    // initializing int variable
    int num_int = 26;
    
    // declaring double variable
    double num_double;
    
    // converting from int to double
    num_double = double(num_int);

    例 3:型キャスト

    #include <iostream>
    
    using namespace std;
    
    int main() {
        // initializing a double variable
        double num_double = 3.56;
        cout << "num_double = " << num_double << endl;
    
        // C-style conversion from double to int
        int num_int1 = (int)num_double;
        cout << "num_int1   = " << num_int1 << endl;
    
        // function-style conversion from double to int
        int num_int2 = int(num_double);
        cout << "num_int2   = " << num_int2 << endl;
    
        return 0;
    }

    出力

    num_double = 3.56
    num_int1   = 3
    num_int2   = 3

    C スタイルの型変換の両方を使用しました 型変換のための関数スタイルのキャスト そして結果を表示しました。これらは同じタスクを実行するため、どちらも同じ出力を返します。


    型変換演算子

    これらの 2 つの型キャストに加えて、C++ には型変換用の 4 つの演算子もあります。これらは型変換演算子として知られています .それらは:

    これらのキャストについては、後のチュートリアルで学習します。


    推奨チュートリアル:


    C言語

    1. C# 型変換
    2. C++ データ型
    3. C++ 演算子
    4. C++ コメント
    5. C++ クラス テンプレート
    6. Python の型変換と型キャスト
    7. Python の数値、型変換、および数学
    8. C++ Char データ型と例
    9. C++ の概要
    10. C++ 変数の型
    11. C++ 定数/リテラル