七、过程(功能)抽象 一一函数 (深入话题
七、过程(功能)抽象 --函数 (深入话题)
主要内容 ■标识符的作用域 ■变量的生存期 ·内联函数 ·带缺省值的形式参数 ■函数名重载
主要内容 ◼ 标识符的作用域 ◼ 变量的生存期 ◼ 内联函数 ◼ 带缺省值的形式参数 ◼ 函数名重载
标识符的作用域概述 不同的程序实体一定要取不同的名字吗? 为了对程序中的实体的名字进行管理,引进 了标识符的作用域的概念: 一个定义了的标识符的有效范围(能被访问的程 序段 。标识符的作用域与它的定义位置有关。 作用域不相交的两个标识符(标识不同的实 体)可以相同,即,在一些情况下,可以用 相同的标识符来标识不同的程序实体
标识符的作用域概述 ◼ 不同的程序实体一定要取不同的名字吗? ◼ 为了对程序中的实体的名字进行管理,引进 了标识符的作用域的概念: • 一个定义了的标识符的有效范围(能被访问的程 序段)。 • 标识符的作用域与它的定义位置有关。 ◼ 作用域不相交的两个标识符(标识不同的实 体)可以相同,即,在一些情况下,可以用 相同的标识符来标识不同的程序实体
C++标识符的作用域 ■ C++把标识符的作用域分成若干类,其中 包括: ·局部作用域 全局作用域 。结构/类作用域 文件作用域 函数作用域 函数原型作用域 名空间作用域
C++标识符的作用域 ◼ C++把标识符的作用域分成若干类,其中 包括: • 局部作用域 • 全局作用域 • 结构/类作用域 • 文件作用域 • 函数作用域 • 函数原型作用域 • 名空间作用域
局部作用域 ■局部作用域是指 在函数定义或复合语句中、从标识符的定义点开 始到函数定义或复合语句结束之间的程序段。 以下标识符具有局部作用域: ·局部变量名 ·局部常量名 ·函数的形参名
局部作用域 ◼ 局部作用域是指 • 在函数定义或复合语句中、从标识符的定义点开 始到函数定义或复合语句结束之间的程序段。 ◼ 以下标识符具有局部作用域: • 局部变量名 • 局部常量名 • 函数的形参名