以下は、備忘録です。
C++11から、constexprという指定子が追加されているようです。
constには、以下の2つがあります。
- コンパイル時に値が決まるもの
- 実行時に値が決まるもの
constexprは、1番目のコンパイル時に値が決まるものに対して付加します。constexprを付けると、const扱いとなります。
それから、ものと書きましたが、変数の定義、関数や関数テンプレートの宣言、リテラル型の静的データメンバの宣言に使用できるからです。
組み込みの環境では、constexpr指定子の付いたものは、ROM(プログラエリア)に置かれるためRAMサイズを節約することが出来ます。
概要
以下は、cpprefjp – C++日本語リファレンス constexpr より引用しています。
constexpr
は、汎用的に定数式を表現するための機能である。
constexpr
は、「constant expression (定数式)」の略語である。この機能を使用することで、コンパイル時に値が決定する定数、コンパイル時に実行される関数、コンパイル時にリテラルとして振る舞うクラスを定義できる。
cpprefjp – C++日本語リファレンス constexpr
C++Builderでの使用
Win32では、BCC32Cコンパイラーを使用する必要があります。デフォルトでは、BCC32を使用する設定となっていますので、設定を変更する必要があります。
使用方法につきましては、以下のプログ記事を参照してください。
参考URL
以下のURLも参考にしてください。