linqy的个人博客分享 http://blog.sciencenet.cn/u/linqy

博文

static函数与普通函数有什么区别?

已有 16705 次阅读 2017-7-7 11:27 |个人分类:C++|系统分类:科研笔记| 静态函数。普通函数

static函数与普通函数:
  用static修饰的函数,本限定在本源码文件中,不能被本源码文件以外的代码文件调用。而普通的函数,默认是extern的,也就是说,可以被其它代码文件调用该函数。
  在函数的返回类型前加上关键字static,函数就被定义成为静态函数。普通 函数的定义和声明默认情况下是extern的,但静态函数只是在声明他的文件当中可见,不能被其他文件所用。

因此定义静态函数有以下好处:
  <1> 其他文件中可以定义相同名字的函数,不会发生冲突。
  <2> 静态函数不能被其他文件所用

区别1:
       静态成员函数实际上是一个全局函数,不依赖一个类的对象. 而属于类,不创建对象也可调用。
       普通成员函数依赖一个类的对象,也就是它有一个隐藏的调用参数(this)指针,必须指向一个类的对象。
区别2:
      静态函数只能访问类中的静态成员变量;
区别3:
      如果类的成员函数想作为回调函数来使用,如创建线程等,一般只能将它定义为静态成员函数才行



https://blog.sciencenet.cn/blog-3134052-1065081.html

上一篇:生活中的一些小段子,搞笑的事实
下一篇:PostgreSQL下载与安装使用
收藏 IP: 124.207.244.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-10-20 04:43

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部