Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
C++RAD Studio

C++Builderで最新C++ constexprの使用方法を学ぶ

constexpr modern c

このブログでは、constexpr変数とconstexpr関数を利用する方法を学習します。このライブラリを利用する理由は、実行時ではなくコンパイル時に計算を実行するアプリケーションのパフォーマンスの向上させることで、コンパイル時に時間を割り当てることにより、結果的に実行時間を節約することが目的です。

constexprキーワードはC++11で導入され、C++14およびC++17で改善されました。

constexprは、オブジェクトまたは関数の値をコンパイル時に評価でき、その式を他の定数式で使用できることを指定します。 任意のコードが値を変更しようとすると、コンパイラエラーが発生します。constとは異なり、constexprは関数やクラスコンストラクタにも適用できます。  constexpr は、値または戻り値が定数であり、可能な場合はコンパイル時に計算されます。

const変数とconstexpr変数の主な違いは、const変数の初期化を実行時まで延期できることです。 constexpr変数は、コンパイル時に初期化する必要があります。 さらにconstexpr変数または関数のすべての宣言には、constexpr指定子が必要です。

C++17では、コンパイル時に条件式を推定することができます。これにより、コンパイラは誤った分岐を排除できます。

constexprを使えば、もっと驚くようなことができるようになります。ぜひ、以下のワークショップを参考してください。

constexpr関数は、関数にconstexprを指定することで、コンパイル時に関数を実行できるようになります。また実行時の値が実引数として渡された場合は、実行時に評価されます。なお、constexpr関数またはコンストラクタは暗黙のうちにインラインになります。

それでは、constexpr変数、constexpr関数を利用したユースケースを見てみましょう。

このブログで紹介しましたサンプルコードは、こちらからダウンロードできます。

C++Builder 10.4では、最新のC++17の言語仕様をサポートしており、C++17の新機能もすぐに試せます。製品の詳細は、こちらを参照してください。

「C++Builderで使用方法を学ぶ」シリーズのバックナンバー

 


Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

IN THE ARTICLES