コンテンツにスキップ

変数と型#

プログラムにおいて、演算の対象となる値を変数と呼びます。

変数には、数値や文字列などのデータを格納することができます。これらのデータの種類を型と呼びます。


変数の宣言#

変数を宣言するには、型と変数名を指定します。

#include <iostream>

int main()
{
    int data_a = 0;
    std::cout << data_a << std::endl;
    data_a = 1;
    std::cout << data_a << std::endl;
    return 0;
}

変数の宣言には、型と変数名を指定します。また、初期値を指定することもできます。

例えば、上記のコードでは data_a という変数を宣言しています。型は int で、初期値は 0 です。

その後、data_aの値に 1 を代入しています。data_a の値を出力すると、1 が出力されます。


#

変数の型には、数値や文字列などがあります。

主に使う型はこちら - 符号付き整数 - int8_t - int16_t - int32_t - int64_t - int - size_t - 符号なし整数 - uint8_t - uint16_t - uint32_t - uint64_t - uint - 浮動小数点 - double - float - float32_t(ビット指定型はC++23からの機能なので普段は使用しない) - 文字・文字列 - std::string (stringをincludeする必要あり) - char


型の変換#

型の変換は、以下のように行います。

#include <iostream>

int main()
{
    int data_a = 0;
    double data_b = 1.0;
    data_a = data_b;
    std::cout << data_a << std::endl;
    return 0;
}

data_aint 型で、data_bdouble 型です。data_adata_b を代入すると、data_b の型が int に変換されます。

これでもいいですが、明示的に型を変換することもできます。

#include <iostream>

int main()
{
    int data_a = 0;
    double data_b = 1.0;
    data_a = static_cast<double>(data_b);
    std::cout << data_a << std::endl;
    return 0;
}

data_bstatic_cast<型> を追加することで、data_b の型を int に変換できます。

当然ながら、int から double に変換することもできます。


型推論#

下記のように型を指定せずにautoキーワードを使い変数宣言できる。

#include <iostream>

int main()
{
    auto data_a = 0;
    std::cout << data_a << std::endl;
    data_a = 1;
    std::cout << data_a << std::endl;
    return 0;
}

定数#

定数にすることで不用意な値の変更を防げることができます

// 定数
const auto hoge = 0;
hoge = 1; // コンパイルエラー

コンパイル時定数。値が決まっているものをこれに使用します。(etc. 円周率とか)。これはコンパイル時に展開および計算が行われます。

// コンパイル時定数
constexpr auto hoge = 0;