假设我有这段代码:
#include <iostream>
struct Mine
{
int a;
int b;
};
int main()
{
int Mine::* memberPointerA = &Mine::a;
int Mine::* memberPointerB = &Mine::b;
std::cout << memberPointerA;
std::cout << "\n";
std::cout << memberPointerB;
}
当我使用 Microsoft Visual C++(2015)运行它时,会得到以下输出。
1
1
我期望的输出更像这样:
我期望的输出更像这样:
1
2
这就引出了一个问题:成员指针的打印是否是定义良好的行为?