zoukankan      html  css  js  c++  java
  • static成员函数

    1.static成员函数不能定义为const的,这是因为static成员函数只是全局函数的一个形式上的封装,而且static成员函数不能访问类的非静态成员(没有this)指针,修改非静态数据成员又从何说起呢?还有如果成员函数返回值是个引用的话,则也不能声明为const类型,因为返回引用就意味着你在函数外面可能会修改其指向的内存。

    2.static成员函数不能声明为const但是static 的数据成员可以声明为const

    const修饰符用于表示函数不能修改成员变量的值,该函数必须是含有this指针的类成员函数,函数调用方式为thiscall而类中的static函数本质上是全局函数,调用规约是__cdecl__stdcall不能用const来修饰它

    如果既想定义const的类变量,又想访问其修改成员变量的成员函数,可以用mutable关键字来声明要修改的变量名

    3.只在类体的函数声明前加static类体外函数定义不能指定关键字static静态数据成员必须在类定义外初始化,但const静态数据成员除外,const静态数据成员可以在类体中初始化static成员函数也不能被声明为虚函数。

    class Bar

    {

    static Bar mem1;//ok

    Bar *mem2;//ok

    Bar mem3; //erro

    }

    原文

    http://blog.csdn.net/starlee/archive/2006/12/05/1430387.aspx

    http://www.cnblogs.com/chio/archive/2007/06/07/774362.html

    http://bbs.csdn.net/topics/390246787

    http://www.cnblogs.com/mydomain/archive/2011/03/22/1991449.html

    http://blog.163.com/zhoumhan_0351/blog/static/39954227201002621251123/

    http://blog.163.com/zhoumhan_0351/blog/static/3995422720103179552945/

  • 相关阅读:
    实验一 命令解释程序的编写
    试验二
    实验一 命令解释程序的编写(重交)
    Sqlserver数据库帮助类(EFTools)
    js验证
    sqlserver中从日期字段取得月份
    IIS不可用或者有问题解决方法
    professional email address collections
    从psd文件到html
    空白符对HTML结构的影响与解决方案
  • 原文地址:https://www.cnblogs.com/mydomain/p/3244956.html
Copyright © 2011-2022 走看看