LoginSignup
0
0

More than 1 year has passed since last update.

constexpr関数は必ずしもコンパイル時にのみ呼び出されるわけではない

Posted at

constexpr関数はコンパイル時に実行される完全に定数のようなものという理解だったのですが、
正確には「constexpr関数の結果を受け取る左辺によって決定される」らしい。

constexpr関数がコンパイル時に呼び出されるか、実行時に呼び出されるかは、その関数の結果を受け取る、左辺によって決定される。引数が定数でかつ、左辺がconstexpr修飾された変数であれば、右辺の関数はコンパイル時に呼び出される。そうでなければ、関数は実行時に呼び出される。

実務で使ったことないので、イマイチ使い所がわからない。

関数を静的に評価する仕組みが必要とされた。

アプリケーションレベルではあまり使わないのかな。

0
0
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0