古いコードで次のスニペットに出くわしましたが、列挙型の奇妙な使い方があります:-
class MyClass
{
public:
enum {MAX_ITEMS=16};
int things[MAX_ITEMS];
...
} ;
これは よりも優れて#define MAX_ITEMS 16
いますが、何か違いはありstatic const int MAX_ITEMS=16;
ますか?
メモリの霧を掘り返してみると、一部の C++ コンパイラでは、クラス内で const を初期化できず、代わりに別の...
const int MyClass::MAX_ITEMS = 16;
... .cpp ソース ファイル内。これはそのための古い回避策ですか?