C ++的一个很酷的事情是它可以让你创build指向成员types的variables。 最常见的用例似乎是获得一个方法的指针: struct foo { int x() { return 5; } }; int (foo::*ptr)() = &foo::x; foo myFoo; cout << (myFoo.*ptr)() << '\n'; // prints "5" 然而,乱搞,我意识到,他们可以指向成员variables: struct foo { int y; }; int foo::*ptr = &foo::y; foo myFoo; myFoo.*ptr = 5; cout << myFoo.y << '\n'; // prints "5" 这很好。 这引导我进一步的实验:如果你能得到一个结构的子成员的指针? struct foo […]