ページ 1 / 1
変数の定義はできるだけshortを使うべきですか?
Posted: 2011年6月21日(火) 15:04
by NANA
今までプログラムで変数を定義するときは何も考えずにintで定義をしていたのですが、
shortの範囲を超えないと断言できそうな変数を定義するときは
メモリを抑えるためにshortで定義をするべきなのでしょうか?
そもそもintとshortで定義することで、そこまでプログラムの動作に影響をおよぼすのでしょうか?
非常に基本的なことで申し訳ないのですが、
ご回答いただければ幸いです。
Re: 変数の定義はできるだけshortを使うべきですか?
Posted: 2011年6月21日(火) 15:43
by jay
気にしなくてもいいと思いますよ
通常のint型は32ビット
short int型なら16ビット
つまりたったの2バイトの違いしか出ないのです
特に静的でない(保持されない)ローカル変数なんかでそんな違いを気にするよりは、しっかりと静的変数・自動変数・構造体やクラスのメンバ変数などを適切に使い分けたり
画像などの外部データを使用しているのなら、それらに手を加えたほうがメモリを押さえられたりします。
Re: 変数の定義はできるだけshortを使うべきですか?
Posted: 2011年6月21日(火) 15:54
by softya(ソフト屋)
20年近く前なら気にしなくてはいけませんでしたが、今の時代は気にするほうが無駄です。
ちなみに、今のPCのCPUはint型の方が処理効率が良いですよ。
Re: 変数の定義はできるだけshortを使うべきですか?
Posted: 2011年6月21日(火) 19:08
by NANA
jay様、softya様
ご回答いただき、誠にありがとうございました。
とりあえず変数なぞ気にしないでいいということですね。
DXライブラリといい、メモリを気にしないでいいことといい、初心者プログラマーには優しい時代ですねw
Re: 変数の定義はできるだけshortを使うべきですか?
Posted: 2011年6月21日(火) 23:10
by たかぎ
単純な変数の場合は、迷わずintを使いましょう。
特に局所変数の場合には、intではなくshortを使うと、実際にデータに使われるメモリ量は変わらず、プログラムサイズは大きく、遅くなる可能性が十分考えられます。
巨大な配列などでは、メモリを節約するためにshortにするという選択は"あり"だと思います。