假设我有这个代码:
#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
所以这就引出了一个问题:这个成员指针的打印是否定义了行为?