• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

关于static函数的疑问

drepa 2017-12-04 浏览量:695

        如题,对于static局部变量,我们都知道是用于保存一些不随函数生命周期结束而销毁的变量,但是用static修饰的函数我就不太清楚了,我只知道static函数是只局限于单一文件调用的函数,其它文件看不见。那么,对于static成员函数,其生命周期是不是也是不随调用它的对象结束而结束呢?对于static非成员函数(普通函数),是不是也是像static变量那样,一直能存活到main函数的生命周期结束呢?

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • c语言的静态成员函数,除了它只能在声明它的文件当中可见,不能被其他文件使用外,加不加static应该都没有什么意义。不在任何花括号内声明的变量或函数都是全局的,而全局的静态变量或静态函数都只在声明它的文件中可见。所以这里的static的作用只是限定了作用域——仅限于本文件。注意,对于全局变量而言,无论是否有static修饰,其存储区域都是全局数据区,生命周期都是全局的。函数的生命周期个人理解还是到程序结束而结束

    • 发布于 2017-12-05
    • 举报
    • 评论 0
    • 1
    • 0

其他答案 数量:3
  • static修饰的函数一般用于不和对象实例绑定的方法,即类方法。所以它一般用作一些功能相关的函数集中的工具函数类的组织。
    • 发布于2017-12-04
    • 举报
    • 评论 1
    • 1
    • 0
电子老工程师 回复了  :电容引脚有不规则“黑色",是产生氧化所致,不建议使用 回复

  • 函数前面的static仅仅是修饰函数 只在当前文件可见。主要是告诉编译器 不要在其它文件中引用。

    对于程序没有其他影响,这段代码还是会编译成机器码,永久写进ROM或FLASH中。

    • 发布于2017-12-05
    • 举报
    • 评论 1
    • 1
    • 0
电子老工程师 回复了  :具体含义资料没有说明是什么含义,一般NXP厂牌尾缀,518代表包装,/后边代表产地 回复

  • static就是全局变量只是初始化的时候给他附了一个值,永远不会销毁
    • 发布于2017-12-27
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :https://www.te.com.cn/chn-zh/product-ZPF000000000000345.html 回复

相关问题

问题达人换一批

关于static函数的疑问