関数(たとえば、大きな配列)内に変数がある場合、両方staticとそれを宣言することは意味がありconstexprますか?constexpr配列がコンパイル時に作成されることを保証するので、static役に立たないでしょうか? void f() { static constexpr int x [] = { // a few thousand elements }; // do something with the array } されstatic、実際に生成されたコードや意味論の面でそこに何かをやって?
次のインライン関数について考えてみます。 // Inline specifier version #include<iostream> #include<cstdlib> inline int f(const int x); inline int f(const int x) { return 2*x; } int main(int argc, char* argv[]) { return f(std::atoi(argv[1])); } そしてconstexprの同等バージョン: // Constexpr specifier version #include<iostream> #include<cstdlib> constexpr int f(const int x); constexpr int f(const int x) { return 2*x; …