51Testing软件测试论坛

标题: 在C/C++中static有什么用途?(请至少说明两种) [打印本页]

作者: 测试积点老人    时间: 2019-5-9 11:05
标题: 在C/C++中static有什么用途?(请至少说明两种)
RT


作者: abcsell    时间: 2019-5-10 09:21
静态变量
作者: 梦想家    时间: 2019-5-10 09:28
1. 函数内static局部变量:变量在程序初始化时被分配,直到程序退出前才被释放,也就是static是按照程序的生命周期来分配释放变量的,而不是变量自己的生命周期。多次调用,仅需一次初始化。

        2. cpp内的static全局变量:只在cpp内有效。在不同的cpp文件中定义同名变量,不必担心命名冲突。保持变量内容的持久。

        3. 头文件内的static全局变量:在每个包含该头文件的cpp文件中都是独立的。不推荐使用。

作者: 清晨一缕阳光    时间: 2019-5-10 09:48
1. 函数内static局部变量:变量在程序初始化时被分配,直到程序退出前才被释放,也就是static是按照程序的生命周期来分配释放变量的,而不是变量自己的生命周期。多次调用,仅需一次初始化。

        2. cpp内的static全局变量:只在cpp内有效。在不同的cpp文件中定义同名变量,不必担心命名冲突。保持变量内容的持久。

        3. 头文件内的static全局变量:在每个包含该头文件的cpp文件中都是独立的。不推荐使用。
作者: jingzizx    时间: 2019-5-10 11:10
静态变量、全局变量
作者: 海海豚    时间: 2019-5-10 13:47
1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。
3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用
作者: 骑牛逗熊    时间: 2019-5-13 10:46
11




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2