Вы хотите, чтобы x
и y
сами были константами? Если так, то проще всего и проще всего использовать анонимное перечисление:
enum {
x = 1,
y
/* Add new ones here. */
};
Это означает, что вам нужно только добавить новое имя в этот список, и ему будет присвоено следующее целочисленное значение. Это полезный трюк, когда вам все равно, какие значения (вне времени выполнения), если они различаются. Например, при назначении идентификаторов элементам управления в графическом интерфейсе вы часто видите:
enum {
button1_id = FIRST_USER_ID,
button2_id,
combo_id,
...
}
Некоторые инфраструктуры GUI предоставляют функцию GetUserId (), которая будет генерировать новую (с использованием внутренней статической переменной); но я думаю, что это происходит во время выполнения. Также немного утомительно видеть так много звонков подряд.
button1_id = GetUserId();
button2_id = GetUserId();
combo_id = GetUserId();
...