#2 C++で学ぶ変数とデータ型の基本

C++は、コンピュータのメモリを細かく意識できる言語のため、変数やデータ型の扱いにも独自の考え方があります。この記事では、C++における変数の作り方と、代表的なデータ型について解説します。

型を明示して変数を作る

C++の変数は、Javaと同様に型を明示して作ります。

int age = 20;

代表的なデータ型

C++の基本的なデータ型には、次のようなものがあります。

  • 整数(int)
  • 浮動小数点数(double)
  • 1文字(char)
  • 真偽値(bool)

複数の文字を扱う「文字列」は、std::stringという型を使うのが現代的な書き方です。

std::string name = "太郎";

autoによる型推論

C++にも、代入する値から型を自動で判断してくれるautoというキーワードがあります。

auto age = 20; // int型と推論される
auto name = std::string("太郎"); // std::string型と推論される

長くて複雑な型名を毎回書く手間を省けるため、現代的なC++のコードでは積極的に使われています。

変更を禁止するconst

値を後から変更されたくない変数には、constというキーワードを付けます。

const int MAX = 100;
// MAX = 200; // コンパイルエラー

constを付けた変数への再代入は、コンパイルの段階でエラーとして検出されます。変更する予定のない値には積極的にconstを付けておくと、意図しない書き換えバグを防げます。

変数のサイズを調べる

sizeofという演算子を使うと、変数や型がメモリ上で何バイトを占めるかを調べられます。

std::cout << sizeof(int) << std::endl;   // 多くの環境で4
std::cout << sizeof(double) << std::endl; // 多くの環境で8

メモリを直接扱うC++ならではの機能で、低レイヤーな処理を書く際に役立ちます。

符号なし整数という選択肢

マイナスの値を取らないと分かっている場合、unsigned intという符号なしの整数型を使うこともできます。

unsigned int count = 0;

同じビット数でより大きな正の値を表現できますが、意図せず負の数を代入すると非常に大きな値に化けてしまう(オーバーフロー)ため、扱いには注意が必要です。特別な理由がなければ、通常のintを使うほうが安全です。

C++ならではの注意点

C++の変数は、宣言しただけでは決まった初期値が入るとは限らず、意図しない値(ゴミ値)が入っていることがあります。これは、実行速度を重視するC++ならではの仕様です。変数を宣言するときは、なるべく同時に初期値を代入しておく癖をつけると、思わぬバグを防げます。

まとめ

C++の変数は型を明示するのが基本ですが、autoを使えば記述を簡略化できます。constによる変更禁止や、宣言時に初期値を必ず入れる習慣が、C++で安全にコードを書くコツです。


本ページはプロモーションを含みます。

参考書籍(PR)

C++をもっと学びたい方には「新・明解C++入門編」がおすすめです。


PR

コードを書かずに自動化したい方へ

「学んだけど自分の作業に組み込む時間がない」という方向けに、ダブルクリックで動く Windows専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。

コメント

このブログの人気の投稿

#25 Rustで学ぶAI API(ChatGPT等)の呼び出し方の基本

#8 C++で学ぶ文字列操作の基本

#16 TypeScriptで学ぶ辞書型(マップ)の基本