指向结构成员的指针

时间:2018-08-08 14:19:25

标签: c++ struct typedef

我在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_是什么意思?

非常感谢您的答复。

0 个答案:

没有答案