zoukankan      html  css  js  c++  java
  • C++中的static修饰的变量和函数

    原文地址:http://blog.csdn.net/he3913/archive/2008/09/18/2944737.aspx
    C++里的静态成员函数(不能用const的原因+static在c++中的第五种含义)
              ----自 core c++
       static在c++中的第五种含义:用static修饰不访问非静态数据成员的类成员函数。这意味着一个静态成员函数只能访问它的参数、类的静态数据成员和全局变量。
       不能用const的原因:一个静态成员函数访问的值是其参数、静态数据成员和全局变量,而这些数据都不是对象状态的一部分。而对成员函数中使用关键字const是表明:函数不会修改该函数访问的目标对象的数据成员。既然一个静态成员函数根本不访问非静态数据成员,那么就没必要使用const了。
       什么时候使用静态数据成员和静态函数呢?
          定义数据成员为静态变量,以表明此全局数据逻辑上属于该类。
          定义成员函数为静态函数,以表明此全局函数逻辑上属于该类,而且该函数只对静态数据、全局数据或者参数进行操作,而不对非静态数据成员进行操作。
     
       static的第一种含义:修饰全局变量时,表明一个全局变量只对定义在同一文件中的函数可见。
       static的第二种含义:修饰局部变量时,表明该变量的值不会因为函数终止而丢失。
       static的第三种含义:修饰函数时,表明该函数只在同一文件中调用。
       static的第四种含义:修饰类的数据成员,表明对该类所有对象这个数据成员都只有一个实例。即该实例归 所有对象共有。
       static的第五种含义:修饰类成员函数,如上。

    本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/he3913/archive/2008/09/18/2944737.asp

  • 相关阅读:
    jieba分词
    hue审计记录-记录用户的查询记录(用户前端删除,后端也不会删除)
    nginx1.16.1平滑升级到1.18
    mysql5.7.24升级到5.7.30 rpm部署模式 redhat7
    ldap无法启动 system library:fopen:Permission denied bss_file.c:402
    hive练习-行列转换 窗口函数
    linkis重编译适配cdh
    redhat7 安装mysql5.15
    hive 自动加载分区 --动态分区
    最近搞了个客户端
  • 原文地址:https://www.cnblogs.com/fwy-walking/p/4025823.html
Copyright © 2011-2022 走看看