static数据成员必须在类定义体外部定义么?

来源:百度知道 编辑:UC知道 时间:2024/05/17 04:03:02
问题就是这个,最好能说明白为什么。

是的,因为类是一种类型,本身不会被分配空间,就像int类型不会被分配空间,所以在类内声明的变量是不会被分配空间的,即便是static数据成员也不例外。为了给static数据成员分配空间,需要在类外定义。注意,声明和定义是不同的,只有定义才分配空间。