最終更新日時: 2025年07月10日 10時26分30秒 (JST)
Koichi Murase が更新

履歴 編集

# registerキーワードを非推奨化(C++11)

このページはC++11に採用された言語機能の変更を解説しています。

のちのC++規格でさらに変更される場合があるため関連項目を参照してください。

## 概要

`register`キーワードが非推奨化された。

C言語から引き継いだ`register`キーワードは、変数をCPUのレジスタ上に保存するための記憶クラス指定子である。

    // 変数vを、メモリの代わりにレジスタに保存する。
    // 保存できない場合はメモリに保存する
    register int v = 42;

`register`キーワードは最適化 (高速化) のためのヒントではあるが、非推奨化の提案が出た時点で、コンパイラから単に無視される機能となっていた。

`register`はよく使われる英単語であるため、将来的にこのキーワードをほかの用途に再利用することを目標とする。

## 関連項目

- C++17 非推奨だったregisterキーワードを削除

## 参照

- CWG Issue 809. Deprecation of the `register` keyword