我在this question中发现了一种奇怪的语法:
struct foo {
int bar;
int baz;
};
typedef int foo::*foo_member;
foo_member m = &foo::bar;
我仍然不了解类型foo_member
,类型int foo::*
是什么意思?
更令人困惑的是,初始化中的&foo::bar
是什么
foo_member m = &foo::bar;
和
foo AS1* f = /* ... */;
f->*m = 4;
我想这意味着f->bar = 4
(或不是?),语法f->*_variable_
是什么意思?
非常感谢您的答复。