マルチスレッド版数独自動生成ソフトC++コードを題材とする超初心者のためのVisual Stadio C++講義
第2章 変数って何?
第2話 変数型について
変数とは整数・実数・文字を入れる箱です。
そして、箱で比喩されるものは実際には各変数に対してメモリ上に一定の領域(幅を持った番地)が与えられ、
そこにデータが書き込まれることを意味していると第1話で説明しました。
そして、変数型(変数のタイプ)によって記憶容量が異なります。

VBAでは、変数の宣言と言われる過程を省略すると一番大きな容量を持つ万能型の変数になりますが、
これは便利なように見えますが、
リンゴ1つを収納するのに引っ越し用の大きな段ボールを用意することになり、
メモリの無遣いになります。
VBA は初心者に優しい設計で、宣言を省略すると万能型になります。
一方、C++ はメモリ管理を自分で行うため、用途に応じて型を選ぶ必要があります。
初心者にとっては万能型の変数はありがたいものです。
しかし、C言語やC++ではメモリを自分で管理することが徹底されていて、
使用目的に応じる変数型(変数のタイプ)を用意することが行われているのです。
ただ、VBAのように万能型の変数を用意しても初心者が組むプログラムでは全体の容量が、
小さいので全く問題がないと言えるのです。
ですが、私たちの最終目的プログラムコードは9×9、16×16、25×25、・・・、
×
、・・・数独という数独の一般化です。
nが大きくなるにしたがって使用メモリはどんどん大きくなっていきます。
先ほどの掛け算結果は81,256,625,2401,4096,・・・というように急速に大きくなっていきます。N が大きくなると、必要な配列の数が急増し、メモリ使
用量が爆発的に増えます。
そのため、適切な変数型を選ぶことが重要になります。
81,256,625,2401,4096,・・・数独のマスの個数です。
そして、実際には各マスに少なくとも4つぐらいの変数(実際には配列)を用意しますので、
324,1024,2500,16384,・・・というようにnが大きくなる度に変数の個数が急速に増えていくので、
メモリを節約することは大変重要となるのです。
第3話では、使用メモリが下から2番目の変数型である整数型変数を
学んでいきます。
以下、第4話実数型変数(実数とは小数のことです)、第5話文字型変数と進んでいきます。