zoukankan      html  css  js  c++  java
  • 静态成员数据

      每个类在实例化的时候都有他自己的成员变量,这个成员变量是其他实例所不可见的

    即使它们是从同一个类实例化而来。那么当我们需要同一种类共享一个变量或者函数怎么办呢?这个时候静态成员数据就发挥了它的作用,静态成员数据相对于同种类之间是全局的,而相对于其他不同的类却是局部的。这就好像是一种全局数据和成员数据的折衷。

      我们在声明静态变量的时候只要在声明变量和函数的前面加上static就可以了:

      static int age;

      但是要使用它的时候,我们需要对它进行初始化:

      对象::age = 0;

      因为在创建对象的时候静态变量并没有被分配内存空间,所以我们需要对它初始化,因为它并不在这个对象中,它是属于这个类的全局变量,不是对象的。所以不要忘了初始化它。同样的当对象被销毁的时候,静态变量是不会被销毁的。

      如果在一个类中把一个成员函数声明为共有的并且是静态的。那么任何函数都可以访问它,

    同时因为它是静态的,所以不通过这个类的实例化对象也能够调用它。 当然通过对象也能够调

    用它。

      这里需要注意的是,静态成员函数没有this指针,因此不能将它们声明为const,由于在成

    员函数中是通过this指针来访问成员数据变量的,因此静态成员函数不能访问非静态成员变量。
  • 相关阅读:
    jpype
    Java获取类中的所有方法
    SQL中INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN区别
    如何用命令将本地项目上传到git
    Java连接Mysql:通过配置文件
    lsof -i:port_number
    yum install lsof
    Git的基本使用方法(受益匪浅)
    [后端]gitlab之gitlab-ci自动部署
    centos7安装redis-4.0.1集群
  • 原文地址:https://www.cnblogs.com/sunnystone85/p/1401134.html
Copyright © 2011-2022 走看看