2016-06-01 2 views
4

Я только недавно обнаружил существование указателя к элементу данных класса, например:C++ Ссылка на член данных класса

class Car 
{ 
    public: 
    int speed; 
}; 

int main() 
{ 
    int Car::*pSpeed = &Car::speed; 
    return 0; 
} 

Do ссылка на член данных класса существует? Если да, то какой sintax должен объявить их?

ответ

3

Нет, ссылки на классы отсутствуют, а также нет значений типа «член класса». Единственное, что у вас есть, это указатель на нестатический член класса (либо на элемент данных, либо на функцию-член).

std::is_member_pointer trait суммирует это красиво: член указатель на тип T U::*, где U является типом класса и T является объектом типа или функции. (Как всегда, нет указателей на ссылки.)

Смежные вопросы