- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
The name lookup rules apply uniformly to all names (including typedef-names (10.1.3), namespace-names (10.3), and class-names (12.1)) wherever the grammar allows such names in the context discussed by a particular rule. Name lookup associates the use of a name with a set of declarations (6.1) of that name. The declarations found by name lookup shall either all declare the same entity or shall all declare functions; in the latter case, the declarations are said to form a set of overloaded functions (16.1). Overload resolution (16.3) takes place after name lookup has succeeded. The access rules (Clause 14) are considered only once name lookup and function overload resolution (if applicable) have succeeded. Only after name lookup, function overload resolution (if applicable) and access checking have succeeded are the attributes introduced by the name’s declaration used further in expression processing (Clause 8).
名称声明引入的那些属性是什么?
最佳答案
这句话可见于N1638 - C++ Working Draft从 2004 年 4 月开始,因此它并不具体指代 [[...]]
形式的属性,这些属性由 N2761 - Towards support for attributes in C++(Revision 6) 引入到标准中2008 年。
[基本查找]/1
Only after name lookup, function overload resolution (if applicable) and access checking have succeeded are the attributes introduced by the name’s declaration used further in expression processing (clause 5).
还有 [basic.def]/1
A declaration (clause 7) introduces names into a translation unit or redeclares names introduced by previous declarations. A declaration specifies the interpretation and attributes of these names.
从上面的内容,并查看该论文中其他五个出现的“属性”,在我看来,“属性”仅表示“关于名称的信息”。所以在这种情况下,extern
、friend
、函数定义的主体,以及您可以在声明中对名称说的任何其他内容,都不是一部分决定名称的解释。
从 C++11 开始,这还将包括 [[..]]
形式的“通用属性”。这里有个提示,N2761没有引入“属性”,它只是为我们提供了它们的通用语法。
相反,函数参数在这个意义上不会是“属性”,因为函数名称的解释将参数作为重载决策的一部分。 返回类型 将是一个属性,因为在我们知道名称的含义以及我们选择的重载之前我们不会查看它。
在稍微更标准的意义上,我认为您可以说“说明符”是属性,而“声明符”指定名称的解释。
实际上,我会说(不检查更具体的规则)这是要求删除的函数在查找和名称解析过程中一直存在的规则,然后失败编译。
否则,一个狡猾的编译器作者可能希望通过提前消除已删除的函数来为他们的用户省去一些麻烦,理由是您不能调用已删除的函数,所以为什么要把它包含在过载设置?
关于c++ - [basic.lookup]/1最后一句是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44607634/
以下是 BASIC 中的示例程序。如果标记的条件不为真,有人能告诉我这个函数返回什么吗?我必须将程序移植到 C++ 并且需要理解它。我没有基础知识 - 请忍受简单的问题。 FUNCTION Check
所以,我正在为一个学校项目而苦苦挣扎,我有一个在 PALM 上编程的 BASIC 代码,我需要将其转换为 LabView,所以首先我要将代码转换为伪代码,但我已经以前从未使用过 BASIC,所以我在处
嗯,我突然非常想念 GW-Basic,所以我想在我的新 Ubuntu 盒子里安装一个。我已经很长时间没有为 GW-Basic 编程了,所以我不知道是否有新版本发布。我从旧的 DOS 3.3 盒子中复制
我正在寻找可用于查找 BASIC 语法的引用。该代码用在旧的 HP-85 上,可能会影响命令列表。我在使用谷歌时遇到了问题,因为每次我搜索“<>基本命令”之类的东西时,它都会认为我的字面意思是基本,并
我继承了一个 BASIC 脚本,我正在尝试将其重写为 Python。我不知道 BASIC,甚至不知道这是哪个版本的 BASIC。是 Visual Basic 吗?请帮我翻译这段代码。 'County
我正在编写一个程序,可以判断给定的数字是否是素数。无论我输入素数还是其他数字,总是显示“这不是素数”。这其中有什么错误吗? 10 input "what is the number";a
我继承了一个 BASIC 脚本,我正在尝试将其重写为 Python。我不知道 BASIC,甚至不知道这是哪个版本的 BASIC。是 Visual Basic 吗?请帮我翻译这段代码。 'County
我最近翻出了我的一本旧书,夏威夷计算机之谜,出版于 1985 年。第 81 页有一段 BASIC 代码, 1 For N = 7 to 77 2 Print N, SQR(N) - INT (SQR
在大多数编程语言中,您可以在输出过程中将字符串与变量混合和匹配。但是,我似乎找不到找到这种方法的好方法。这是我的代码: Prompt A,B √(A^2+B^2)->C If iPart(C)≠C T
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
我正在尝试将用 Rocky Mountain BASIC 编写的程序移植到 GWT,但我被以下语句难住了: 1040 Cfs = 0.75/((LGT(Reyns)-2)^2) 1040是行号。 Re
以下两个(功能相同的)程序摘自旧一期的 Compute's Gazette。主要区别在于程序 1 将目标基本内存位置(7680 和 38400)内联,而程序 2 首先将它们分配给一个变量。 程序 1
每一天都有自己的数据,我需要在不使用最近数据的情况下运行一些科学的东西。 基本上我需要阻止注释掉它。这在 Liberty Basic 中是如何完成的? 最佳答案 Liberty Basic 不支持多行
' Gambas class file ' Math Drill by William Teder. Feel free to use parts of the code, but please gi
我一直在寻找在 TIBASIC 中制作一个程序,该程序可以评估代码正在运行的计算器类型,无需汇编。因为我认为没有任何东西可以从 about 屏幕获取信息。这是我想出的一段代码: :ClrDraw :T
我正在用 TI-Basic 编写一个简单的 Pong 游戏,但编辑器不允许我在我已经编写的代码中插入一行。 例如 print "Hello world" <--Where I want to inse
我是 1980 年代早期/中期个人电脑的忠实粉丝,例如 Amstrad CPC、Commodore 64 和 Sinclair Spectrum。这些计算机都拥有的一件事是 BASIC 版本。 作为一
所以从 70 年代开始就使用 Pick 系统。我们所做的一切都是在 Pick 中完成的。我想维护 Pick 记录,但使用另一种语言(例如 Java)作为前端用户界面。问题是 D3 似乎被锁定在 lin
BASIC 编程语言中 GOTO 和 GOSUB 语句有什么区别? 最佳答案 GOTO 只是跳转到另一行,GOSUB 会跟踪它的来源(大概是在堆栈上),因此当解释器遇到 RETURN 时,它返回到最后
我父亲在 80 年代学习了编程,但他仍然坚持使用 GW-BASIC(并以此谋生)。要求他创建一个 CSV 文件,但他只知道如何创建固定宽度记录的文件。 我在网上发现打开纯文本文件的语法是: OPEN
我是一名优秀的程序员,十分优秀!