#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専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。
コメント
コメントを投稿