C++学习:嵌套类成员函数的名字解析

需积分: 48 1 下载量 10 浏览量 更新于2024-08-19 收藏 17.46MB PPT 举报
"这篇学习笔记主要探讨了C++中的嵌套类成员函数体中的名字解析规则,以及C++的相关背景和历史。" 在C++编程中,名字解析是编译器寻找标识符(如变量、函数等)的过程。在嵌套类成员函数体内,名字解析遵循一定的顺序,以确定一个特定名字所引用的对象或功能。以下是解析过程的详细步骤: 1. **成员函数局部域**:首先,编译器会在成员函数的局部作用域中查找名字。这里包括函数内部定义的变量、参数和局部静态变量。 2. **嵌套类作用域**:如果在局部域中未找到,编译器会继续搜索嵌套类的自身作用域。嵌套类可以有自己的成员变量和函数,这些可能与外部类或其他作用域内的元素同名。 3. **外围类作用域**:接着,编译器会扩展搜索到包含该嵌套类的外围类的作用域。这意味着可以访问外围类的成员,包括静态和非静态成员,但不包括其他嵌套类的成员(除非它们已经被明确地引入到当前作用域)。 4. **成员函数定义之前的名字空间域**:如果以上都未找到,编译器会继续向上遍历,检查在成员函数定义之前的所有名字空间级别的声明,这可能包括全局作用域和任何已包含的命名空间。 C++语言起源于C语言,由Bjarne Stroustrup博士在1979年创建,最初名为"C with Classes"。随着时间的发展,C++经历了多次重大改进,形成了三个主要发展阶段: - 第一阶段:传统的面向对象语言,引入了类和继承的概念,使得C成为一个更好的C。 - 第二阶段:加入了泛型编程,以标准模板库(STL)为代表,提供了高效的数据结构和算法。 - 第三阶段:增加了模板元编程和产生式编程,如Loki和MPL,进一步增强了编译时代码生成的能力。 C++在软件行业中占有重要地位,尤其在嵌入式系统、游戏编程、网络编程和系统编程等领域广泛应用。根据TIOBE指数,C++是全球最受欢迎的编程语言之一,反映了其在现代软件开发中的广泛影响力。