constexpr
の存在を知ってからは
これならコンパイル時定数だからなるべく使っていくべきだと思い
定数を定義する場合はconstexpr
を中心に、使えないところではconst
という感じで定数を定義してきました。
そうしているうちに、どちらにしろ定義名は付けるのだから
衝突を避けたり、型名として扱ったりしたいわけじゃないのなら
わざわざenum
を使わずに、constexpr
の方がいいのだろうと考え出して
enum
を使うことがほとんどなくなってしまいました。
ただ、本当にそうなのか...?と疑問に思い始めて
enumについて調べていたのですが
列挙宣言 - cppreference.com
このサイトに
enum name { enumerator = constexpr , enumerator = constexpr , ... }
このような記述がありました。
このenumerator = constexprという記述
つまりenum
の値というのはコンパイル時定数ということなのでしょうか?
明確にenum
はコンパイル時定数だという記述が書いてあるようなサイトが見つからず悩んでいるところです
もしそうなのであれば、enum
をもっと活用しておくべきだったなと思っているのですが
皆さんはどういう風に定数の使い分けているのか(特にenum
とconstexpr
)
enum
の使うべき場面、constexpr
の使うべき場面など
よろしかったら教えていただけないでしょうか?
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/26 04:18
2019/09/26 08:18 編集
2019/09/26 08:22 編集
2019/09/26 12:07