Я читаю код проекта C++ и содержит некоторый код следующего вида:запутанных ЬурейиЕ включает класс сферу
namespace ns {
class A {};
class B {};
}
struct C {
typedef ns::A* ns::B::* type;
};
Может кто-нибудь объяснить смысл typedef
линий? type
, кажется, какой-то указатель на член ns::B
, который указывает на ns::A
, но я не уверен.
Класс A
и B
в реальном коде не пустые, но я думаю, что здесь это не актуально. И вот live example.
Как используется этот тип? Можете ли вы привести некоторые примеры этого? –
[странный материал] (http://ideone.com/qFMwRW) действительно! @JoachimPileborg –
выглядит как указатель на функцию-член, но параметры отсутствуют. Возможно, это эквивалентно типу typedef ns :: A * ns :: B :: *(); ' – user463035818