register |
辞書:電算用語の基礎知識 プログラミング仕様編 (PTPROGS) |
読み:レジスター |
外語:register |
品詞:名詞 |
C/C++の予約語の一つで、変数をレジスター変数として定義する。
|
概要 |
Cと、C++11以降を除く古いC++では、autoと同様に変数の記憶クラスが自動であることを示す。
autoと違うのは、この変数の使用頻度が高いことを明示している点で、可能であれば変数をレジスターに割り当てることをコンパイラーに指示する。こうしてレジスターに割り当てられた変数はレジスター変数と呼ばれる。
但し、必ずしもレジスターに割り当てることができるとは限らず、その場合はautoが指定されたものと同様に処理される。
特徴 |
由来 |
C言語は高級アセンブリ言語として誕生した経緯もあり、その証拠ともなる機能の一つが、このレジスター変数である。
その名の通り、CPUのレジスターを直接利用することで高速な演算を可能とする(他の場合はメモリーに割り当てられる)。
プログラマーが明示することでコンパイラーの最適化の助けになるが、昨今のコンパイラーは性能が向上しており、わざわざregisterと書かなくても自動的にレジスターへの割り当てを行なうことがある。
制約 |
レジスター変数はブロック内に定義するか、または関数への引数として宣言される必要がある。CとC++で制約条件が若干異なる。
リンク |
通信用語の基礎知識検索システム WDIC Explorer Ver 7.04a (27-May-2022) Search System : Copyright © Mirai corporation Dictionary : Copyright © WDIC Creators club |