"这篇文档是关于C++学习的笔记,主要讨论了类成员定义中的名字查找规则,并提及了C++的概述、C与C++的关系、面向对象程序设计以及第一个C++程序。文档还提到了一些课程信息,包括教材推荐、课程性质、课时安排、作业布置以及C++的历史和发展。"
在C++编程中,类成员定义中的名字查找是一项重要的概念。当在成员函数内部使用一个标识符时,编译器会按照特定的顺序来查找这个标识符的定义。这个过程可以分为三个步骤:
1. **Step1:从成员函数体开始** - 查找首先会在成员函数的本地作用域中进行,也就是函数体内的局部变量、参数或者在此范围内声明的任何其他名字。
2. **Step2:在类体内查找** - 如果在成员函数体内部找不到,编译器会扩展搜索范围到类的定义中,检查是否有成员变量或静态成员函数与该名字匹配。如果类中也没有找到,编译器会继续查找在该成员函数定义之前在类体内的任何作用域内声明的名字。
3. **Step3:全局作用域查找** - 如果类体内仍然没有找到,编译器会进一步扩展到成员函数定义之前的作用域,即全局作用域,尝试在那里找到该标识符的定义。这包括了在所有包含文件中的全局变量、函数、命名空间等。
C++是由Bjarne Stroustrup博士创建的,他从1979年开始研发,最初命名为"C with Classes",后来演变为现在的C++。1998年,C++正式成为ANSI/ISO标准。C++是一种通用的、支持多种编程范式的语言,它强化了C语言,添加了数据抽象、面向对象和泛型编程的支持。
C++的发展历程可以分为三个阶段:传统的面向对象语言阶段,加入了泛型编程(如STL和Boost)的阶段,以及引入产生式编程和模板元编程(如Loki和MPL)的阶段。C++在软件行业中占有重要地位,广泛应用于嵌入式系统、游戏开发、网络编程和系统编程等领域。
学习C++时,推荐的教材包括《The C++ Programming Language》、《C++ Primer》、《C++大学教程》和《C++高级编程》。这门课程是必修的,总学时72学时,包含理论和实践两部分,作业包括选择题、填空题和编程题,需要在指定时间内通过在线平台提交。