変数と型#
プログラムにおいて、演算の対象となる値を変数と呼びます。
変数には、数値や文字列などのデータを格納することができます。これらのデータの種類を型と呼びます。
変数の宣言#
変数を宣言するには、型と変数名を指定します。
#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_a は int 型で、data_b は double 型です。data_a に data_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_b に static_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;