如果static变量直接在头文件中进行赋值的话, 那么不能取该变量的地址。
变量申明是幂等的,但是定义不是,如果多个头文件包含该头文件的话,则会多次定义会引发重定义错误。
因此最好是在头文件中只做申明,而在.cpp文件中做定义。
但是C++编译器会做一些优化,将多个同一个变量的定义合并成一个,但这个时候就不能取变量的地址了。具体原因还没弄透。
如果static变量直接在头文件中进行赋值的话, 那么不能取该变量的地址。
变量申明是幂等的,但是定义不是,如果多个头文件包含该头文件的话,则会多次定义会引发重定义错误。
因此最好是在头文件中只做申明,而在.cpp文件中做定义。
但是C++编译器会做一些优化,将多个同一个变量的定义合并成一个,但这个时候就不能取变量的地址了。具体原因还没弄透。