.
-, #define C. โโC++, , , , ... .
. , , , , , .
:
const int T_NEWLINE = 1;
struct Tokens { static const int T_FOO = 2; };
enum { T_BAR = 3; };
enum Token { T_BLAH = 4; };
BOOST_STRONG_TYPEDEF(int, Token);
const Token NewLine = 1;
const Token Foo = 2;
class Token
{
public:
static const Token NewLine;
static const Token Foo;
bool operator<(Token rhs) const { return mValue < rhs.mValue; }
bool operator==(Token rhs) const { return mValue == rhs.mValue; }
bool operator!=(Token rhs) const { return mValue != rhs.mValue; }
friend std::string toString(Token t) { return t.mValue; }
private:
explicit Token(const char* value);
const char* mValue;
};
.
int , , .enum , , - ( ).StrongTypedef enum. int.- - , , ( , ).
, int enum, , , #define: const , .