1,
求成员变量的偏移:
2,
const实现机制:在编译期间完成,对于内置类型,如int, 编译器可能使用常数直接替换掉对此变量的引用。而对于结构体不一定。
编译器在优化代码时把j直接优化成64h了,所以虽然p和&j的值一样,但j不再通过访问j的地址输出,而是使用的直接的数。(反汇编时也有看到直接把数字压栈push 100 )
3,
error LNK2001: unresolved external symbol "private: static class
静态成员对象需要咋外部先初始化。
class SC{
private:
static int x;
};
int c::x = 0;
//如是static const的
class SC{
public:
static const int x = 0;
};
int c::x;