C++记录2

时间:2023-03-10 06:00:37
C++记录2

1,

求成员变量的偏移:

C++记录2

2,

const实现机制:在编译期间完成,对于内置类型,如int, 编译器可能使用常数直接替换掉对此变量的引用。而对于结构体不一定。

编译器在优化代码时把j直接优化成64h了,所以虽然p和&j的值一样,但j不再通过访问j的地址输出,而是使用的直接的数。(反汇编时也有看到直接把数字压栈push 100 )

C++记录2

C++记录2

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;