Привет, у меня есть такая структура:
struct float2 {
float a;
float b;
};
теперь я могу получить доступ к таким членам:
float2 f;
f.a = 1;
f.b = 2;
Я хочу получить доступ к a и b с другим псевдонимом:
float2 f;
f.a = 1;
f.b = 2;
f.x = 3;
f.y = 4;
f.w = 5;
f.h = 6;
f.width = 7;
f.height = 8;
x, w, width
должен относиться к той же памяти, что и a
, а y, h, height
должен относиться к b
Я пробовал 2 способа, но один из них требует памяти и одной стоимости производительность ( я не уверен ):
struct float2
{
float a;
float b;
// plan a ->
float& x;
float& y;
float& w;
float& h;
float2(float _a, float _b) : a(_a), b(_b), x(a), y(b), w(a), h(b) {}
// plan b ->
float& width() {
return a;
}
float& height() {
return b;
}
};
есть ли способ компиляции?
спасибо.