为什么我们在类中声明静态变量,而在类外部定义?

维琪

我们static在类中声明一个变量,并在类外初始化该变量,但是我们在函数中使用该变量。

有人告诉我原因吗?提前致谢

阿布舍克禁令

我不确定,但我的猜测是,因为在类内部仅声明成员变量。它们通过构造函数或其他成员函数初始化。

实例化对象时会发生这种情况。但是,对于静态成员,不需要实例化对象。因此,需要在类外对它们进行一次初始化。

编辑:
实际上,没有必要初始化静态变量,但是有必要在类外部定义它们以为其分配内存。只有在定义之后,才能对其进行初始化,然后在程序中使用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么不同于类的其他成员,我们为什么需要定义类的静态变量?

来自分类Dev

为什么在类外部用静态变量的重新声明来初始化静态变量?我们不能只初始化它而不是重新声明它吗?

来自分类Dev

(为什么)我们可以在初始化时将非静态类成员分配给静态变量?

来自分类Dev

Python,为什么我们可以创建类创建中未定义的类变量?

来自分类Dev

为什么我们不能在.Net中创建静态类的实例

来自分类Dev

为什么我们需要Java中的Properties类?

来自分类Dev

我们可以将JPA静态元模型类的成员变量声明为final吗?

来自分类Dev

当我们声明静态变量时,编译器实际上会做什么?

来自分类Dev

为什么我不能从类外部访问 __init__ 中定义的类变量?

来自分类Dev

在枚举类中声明一个静态变量

来自分类Dev

如何在python中打印类的声明静态变量

来自分类Dev

为什么超类中的静态块/静态变量在main之前初始化?

来自分类Dev

静态变量与模板类的声明冲突

来自分类Dev

为什么Python类无法识别静态变量

来自分类Dev

为什么我的静态变量实例化的类的宽度为0

来自分类Dev

在超类上声明最终静态变量与在扩展类上声明有什么区别?

来自分类Dev

为什么我们不能在扩展类的静态方法中使用此实例?

来自分类Dev

为什么要在main中声明静态变量?

来自分类Dev

为什么我们不能在Java中将整个类声明为已同步?

来自分类Dev

在函数覆盖中,为什么我们不将其声明为静态

来自分类Dev

我们可以在 Scala 类声明中放入什么?

来自分类Dev

为什么我们需要声明枚举变量?(C)

来自分类Dev

我们可以在构造函数中定义静态类成员吗?

来自分类Dev

在.h文件中的类中声明静态变量和.cpp文件中的“全局”变量之间有什么区别?

来自分类Dev

为什么类中的静态变量会给出链接错误?

来自分类Dev

为什么我们不能在没有公共成员函数的情况下访问类外部的私有静态成员?

来自分类Dev

我在单例类中需要静态变量吗?

来自分类Dev

我们可以在类中声明密封方法吗

来自分类Dev

为什么我们可以返回对类成员变量的引用

Related 相关文章

  1. 1

    为什么不同于类的其他成员,我们为什么需要定义类的静态变量?

  2. 2

    为什么在类外部用静态变量的重新声明来初始化静态变量?我们不能只初始化它而不是重新声明它吗?

  3. 3

    (为什么)我们可以在初始化时将非静态类成员分配给静态变量?

  4. 4

    Python,为什么我们可以创建类创建中未定义的类变量?

  5. 5

    为什么我们不能在.Net中创建静态类的实例

  6. 6

    为什么我们需要Java中的Properties类?

  7. 7

    我们可以将JPA静态元模型类的成员变量声明为final吗?

  8. 8

    当我们声明静态变量时,编译器实际上会做什么?

  9. 9

    为什么我不能从类外部访问 __init__ 中定义的类变量?

  10. 10

    在枚举类中声明一个静态变量

  11. 11

    如何在python中打印类的声明静态变量

  12. 12

    为什么超类中的静态块/静态变量在main之前初始化?

  13. 13

    静态变量与模板类的声明冲突

  14. 14

    为什么Python类无法识别静态变量

  15. 15

    为什么我的静态变量实例化的类的宽度为0

  16. 16

    在超类上声明最终静态变量与在扩展类上声明有什么区别?

  17. 17

    为什么我们不能在扩展类的静态方法中使用此实例?

  18. 18

    为什么要在main中声明静态变量?

  19. 19

    为什么我们不能在Java中将整个类声明为已同步?

  20. 20

    在函数覆盖中,为什么我们不将其声明为静态

  21. 21

    我们可以在 Scala 类声明中放入什么?

  22. 22

    为什么我们需要声明枚举变量?(C)

  23. 23

    我们可以在构造函数中定义静态类成员吗?

  24. 24

    在.h文件中的类中声明静态变量和.cpp文件中的“全局”变量之间有什么区别?

  25. 25

    为什么类中的静态变量会给出链接错误?

  26. 26

    为什么我们不能在没有公共成员函数的情况下访问类外部的私有静态成员?

  27. 27

    我在单例类中需要静态变量吗?

  28. 28

    我们可以在类中声明密封方法吗

  29. 29

    为什么我们可以返回对类成员变量的引用

热门标签

归档