class Expression
{
private:
ToStringDisplay* toString;
public:
......
};
// Some code
if (toString == NULL)
// do something
当我调试时,toString指向一个地址,而不是NULL。
但是,如果我改为声明
static ToStringDisplay* toString;
,则toString指向NULL?它们之间有什么区别?
最佳答案
作为C / C ++中的标准,如果没有另外说明,则静态变量始终初始化为null。但是,对于非静态局部变量,没有这样的保证
关于c++ - 静态与非静态变量C++,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15731258/