を格納する列挙型を使用して私は最近、次のようであったコードに出くわした:数値定数
#include <stdio.h>
class Example {
private:
enum {
BufSize = 4096,
MsgSize = 200 * 1024,
HeaderFieldLen = 16
};
public:
int getBufSize() {
return BufSize;
}
};
int main() {
Example ex;
printf("%d\n", ex.getBufSize());
return 0;
}
クラスは、本質的に列挙型の定数を格納し、そのメンバ関数にそれらの値を用いました。
これはenumの有効な使用ですか、そうであれば、struct
または通常のconst
のクラスメンバー変数ではなく、このように定数を格納する理由がありますか?
これはC-ismですが、(やや不明瞭な)C++コードでも有効です。 – milleniumbug
このように、列挙型の値は、メンバーとは異なり、実際には結果のバイナリに「格納」されません。しかし、それが実際に関連しているかどうかはわかりません。 –
「実行時に名前で」?? –