c++ constexpr型指定子の使い方とconstとの使い分けの方法
constは値が変更できない変数でconstexprはこの機能を使用することで、コンパイル時に値が決定する定数、"コンパイル時に実行される関数"、"コンパイル時にリテラルとして振る舞うクラスを定義できる"
1、コンパイル時に実行される関数
2、コンパイル時にリテラルとして振る舞うクラスを定義できる"
3、visual studio 2017の環境下では#define NUMBER 5 と定義すると「constexprに変えたらどうですか?」みたいな提案のマークがでるのですがそうしたほうがいいのでしょうか?場合にもよると思うのですが教えてほしいです。
この三つの意味を教えてほしいです。
//#define NUMBER 5
constexpr auto NUMBER = 5;
constexpr int num = 5;
const int n = 5;
int main() {
_getch();
return 0;
}