搜索

pdf文档 Whats in a Name? Whats a Name in? - Walter E. Brown - CppCon 2020

4.37 MB 7 页 0 下载 65 浏览 0 评论 0 收藏
所属分类: 后端开发 / C++
语言 格式 评分
英语
.pdf
3
摘要
文档主要讨论了C++编程语言中的命名规则及其作用域。内容涵盖了C++名称的定义、作用域、声明与定义的区别,以及命名空间的概念。文档强调了名称在编程中的重要性,包括名称的引入、生命周期、作用域规则,以及如何避免命名冲突。此外,还提到了C++中保留字的使用规则和名称空间的管理。文档通过多个示例和实际应用场景,详细解释了C++名称的使用和作用。
AI总结
这篇文档主要探讨了C++编程语言中“名字”的含义和作用,特别是从编译器如何处理名字的角度进行分析。以下是文档的核心观点和关键信息: 1. **名字的重要性** 文档通过引用文学作品中的名言,强调了“名字”的重要性。在编程中,名字不仅仅是标识符,更是编译器处理程序逻辑的关键。 2. **C++名字的定义与分类** - 在C++中,名字可以表示多种实体,如类型、函数、变量、标签等。 - 名字的使用需要通过声明和定义来明确其含义。有些名字可以在声明后延迟定义,而有些名字必须立即定义。 - 预定义的名字(如语言关键字)和仅用于未求值上下文的名字(如`std::declval`)有特殊规则。 3. **C++名字的作用域与解析规则** - 每个名字都存在于特定的作用域(declarative region)中,编译器通过作用域解析名字。 - 名字的解析依赖于上下文,可能涉及全局作用域、命名空间、类或函数内部的作用域。 - 示例展示了如何在不同上下文中解析名字,特别是涉及继承和作用域链的情况。 4. **名字的使用与编译器处理** - 编译器将名字转换为机器地址,避免了直接处理内存地址的复杂性。 - 只有在动态链接/加载或调试时,部分名字才会在可执行文件中保留。 5. **C++名字的特殊规则** - 预留标识符(如关键字和某些保留形式)不能用作普通名字。 - 带下划线的名字在全局作用域中是保留的,可能用于内部用途。 6. **名字的作用与意义** - 文档强调了名字不仅是符号,更是程序逻辑和语义的基础。 - 通过名字的正确使用,可以提高代码的可读性和维护性。 总结而言,这篇文档深入探讨了C++中名字的机制,从基本概念到复杂的应用,展示了名字在编程中的核心作用。
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
文档评分
请文明评论,理性发言.