Возможно ли, что на C++ ссылаться на одну и ту же переменную, используя разные имена, без использования препроцессора?Несколько имен для одной и той же переменной в C++
Для достижения такого же эффекта, как это псевдокод
struct vec3f {
float[3] values;
};
struct color : public vec3f {
#define r values[0]
#define g values[1]
#define b values[2]
};
color c;
c.r = 0.5f;
Ниже имеет правильную семантику за исключением того, выделяет пространство в структуры для 3-х ссылок:
struct color : public vec3f {
float& r;
float& g;
float& b;
color() : r(values[0]), g(values[1]), b(values[2]) { }
};
Есть ли способ, чтобы получить это подменю имен компиляции, не увеличивая размер структуры?
Я пытался избежать скобок, но это, безусловно, правильный способ сделать это. – wjd