优秀的编程知识分享平台

网站首页 > 技术文章 正文

《学习C++》基本概念之名称

nanyue 2025-08-01 19:40:17 技术文章 2 ℃

名称

名称(name)简称名,由声明(declaration)引入程序,在程序中用于引用实体(entity)。当程序存在多个TU时,一个名可能在多个TU中使用,此时依赖于名的链接性(linkage),同一名可能引用不同的实体。

名有以下几种形式:

  • 标识符(identifier)
  • 函数表示法中的重载运算符(overloaded operator)。例如:operator+
  • 用户定义转换函数(user-defined conversion function)。例如:operator bool
  • 带参数列表的模版。例如:vector<int>
  • (C++11)用户定义字面量运算符(user-defined literal operator)。例如:operator "" _km

标识符是一种词法元素,名称则是一种句法元素。结合标识符中关于“非限定标识符表达式(qualified identifier expression)”的定义可以发现,并非所有的名都是标识符(上述2-5情况下的名不是标识符,但是具备标识符相同的功能),但所有的标识符都是名,即标识符是名称的一种形式(主要形式)。

当编译器在程序中发下未知名称时,它将通过名称查找(name lookup)过程,将此名称与引入此名的声明关联起来(模版中的依赖名称(dependent name)除外)。

————————————————

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。


原文链接:
https://blog.csdn.net/aponysos1214/article/details/149629792

最近发表
标签列表