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/

最新文章

  1. Linux sudo 命令的应用
  2. 10个漂亮的响应式的食品 WordPress 美食模板
  3. codeforces mysterious present 最长上升子序列+倒序打印路径
  4. c#lock语句及在单例模式中应用
  5. 804 pretest 解题
  6. [转]z-order引出的问题
  7. POJ3252——Round Number(组合数学)
  8. python练习程序(c100经典例13)
  9. 【转】Java多线程学习
  10. 实现自己的脚本语言ngscript之一:词法分析
  11. 我和Python的第一次亲密接触 - 零基础入门学习Python001
  12. Gitlab一键端的安装汉化及问题解决(2017/12/14目前版本为10.2.4)
  13. 20160225.CCPP体系详解(0035天)
  14. 基于jQuery-ui实现多滑块slider
  15. 移除SharePoint2013里的NoteBook笔记本链接
  16. 1.Jenkins 在windows下的安装与配置
  17. form表单 获取与赋值
  18. Spring框架之Bean的作用范围和生命周期的注解
  19. 微信小程序组件 模块化错和叹号
  20. eclipse新建maven工程的各种坑

热门文章

  1. SQL Server 查看物理页存储
  2. 自动化测试工具QTP和SilkTest横向PK(转)
  3. Nodejs编码转化问题
  4. 框架的 总结(nop)------添加功能
  5. 理解em,rem以及rem的失效问题
  6. iOS多线程编程之NSOperation和NSOperationQueue的使用(转自容芳志专栏)
  7. Windows 8.1 应用再出发 - 视图状态的更新
  8. Delete characters
  9. [C#] Timer + Graphics To Get Simple Animation (简单的源码例子,适合初学者)
  10. autohotkey在运维中的应用