函数和链接性
来源:互联网 发布:连电脑网线软件 编辑:程序博客网 时间:2024/05/16 10:12
和变量一样,函数也有链接性,虽然可选择的范围比变量小。和C语言一样,C++不允许在一个函数中定义另外一个函数,因此所以函数的存储持续性都自动为静态的,即在整个程序执行期间都一直存在。在默认情况下,函数的链接性为外部的,即可以在文件间共享。实际上,可以在函数原型中使用关键字extern来指出函数是在另一个文件中定义的,不过这是可选的。还可以使用关键字static将函数的链接性设置为内部的,使之只能在一个文件中使用。必须同时在原型和函数定义中使用该关键字。
static int private(double x);
..........
static int private(double x)
{
.......
}
这意味着该函数指针这个文件中可见,还意味着可以在其他文件中定义同名的函数。和变量一样,在定义静态函数的文件中,静态函数将覆盖外部定义,因此即使在外部定义了同名的函数,该文件仍将使用静态函数。
单定义规则也适用于非内联函数,因此对于每个非内联函数,程序只能包含一个定义。对于链接性为外部的函数来说,这意味着在多文件程序中,只能有一个文件包含该函数的定义,但使用该函数的每个问你好都应包含其函数原型。
内联函数不收这项规则的约束,这允许程序员能够将内联函数的定义放在头文件中。这样,包含了头文件的每个文件都有内联函数的定义。然而,C++要求同一个函数的所以内联函数都必须相同。
0 0
- 函数和链接性
- 函数和链接性
- 函数链接性和语言链接性
- C++11 变量和函数的链接性
- C语言字符串复制和链接函数
- 4.17 symlink和readlink函数-符号链接
- symlink和readlink函数-符号链接
- gcc链接,去掉不用的函数和data
- 4.15 link、unlink函数-创建和删除硬链接
- TransmitFile函数的使用(头文件和链接)
- 初始化COM库的函数和相关链接文件
- Visual Studio 2013中new和delete函数链接错误
- 变量和函数的作用域、链接属性、存储范围
- 动态链接库DLL导出函数的声明和调用
- 关于预处理、宏和函数、编译链接的理解
- 静态链接库和动态链接库相同函数覆盖及库调用顺序
- C++中的static关键字 ,外部链接性,内部链接性和无链接性
- 字符串链接函数
- hdu2438 三分
- 二分查找算法(递归与非递归两种方式)
- 关于----面向过程------面向对象----中 static成员
- SP2010开发和VS2010专家"食谱"--第四章节—列表定义和内容类型
- #import预处理指令
- 函数和链接性
- 学习计算机的特点
- 《深入理解计算机系统》计算机的信息世界
- 9个offer,12家公司,35场面试,从微软到谷歌
- SP2010开发和VS2010专家"食谱"--第四章节—列表定义和内容类型(1)--创建网站栏
- 解决Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.
- pl/sql(1)
- 线程池设计中的惊群问题
- 安卓图表引擎AChartEngine(一) - 简介