通信用語の基礎知識 全国のICカードこれひとつ 戻る

register
辞書:電算用語の基礎知識 プログラミング仕様編 (PTPROGS)
読み:レジスター
外語:register
品詞:名詞

C/C++予約語の一つで、変数をレジスター変数として定義する。

目次
概要

Cと、C++11以降を除く古いC++では、autoと同様に変数の記憶クラスが自動であることを示す。

autoと違うのは、この変数の使用頻度が高いことを明示している点で、可能であれば変数をレジスターに割り当てることをコンパイラーに指示する。こうしてレジスターに割り当てられた変数はレジスター変数と呼ばれる。

但し、必ずしもレジスターに割り当てることができるとは限らず、その場合はautoが指定されたものと同様に処理される。

特徴
由来

C言語は高級アセンブリ言語として誕生した経緯もあり、その証拠ともなる機能の一つが、このレジスター変数である。

その名の通り、CPUのレジスターを直接利用することで高速な演算を可能とする(他の場合はメモリーに割り当てられる)。

プログラマーが明示することでコンパイラーの最適化の助けになるが、昨今のコンパイラーは性能が向上しており、わざわざregisterと書かなくても自動的にレジスターへの割り当てを行なうことがある。

制約

レジスター変数はブロック内に定義するか、または関数への引数として宣言される必要がある。CとC++で制約条件が若干異なる。


Cの場合

C++の場合
リンク
用語の所属
予約語 (C)
予約語 (C++)
記憶クラス
関連する用語
auto

[再検索] [戻る]


通信用語の基礎知識検索システム WDIC Explorer Ver 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club
KisoDic