Элемент ссылки на класс указывает на другой член того же класса

Я делаю библиотеку, которая включает координаты 3 -D, и обнаружил, что есть два названия для компонентов 3 -D угол :рыскание -тангаж -крен и курс -возвышение -банка

Итак, я сделал следующее (на С++ 11):

struct Angle {
    float heading;
    float elevation;
    float bank;
    float &yaw = heading;
    float &pitch = elevation;
    float &roll = bank;

     // Some Constructors (copy and assignment have to be made manually)
 }

Преимущество этого заключается в сохранении эквивалентности обозначений между двумя схемами имен -. Например:

Angle angle;
rotate(angle.yaw); // this is equivalent to rotate(angle.heading)

Мне было интересно, поймет ли компилятор, что ссылки не нужны, или сохранит указатели в структуре.

Кроме того, есть ли лучший способ иметь два имени для одного участника?

5
задан Joe 25 July 2012 в 13:51
поделиться