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


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

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

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

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

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