Lig*_*ica 43 c++ language-lawyer c++17
据我所知,标准中没有提及“ 完全合格 ”一词(例如),但我可以记得在网上多次“听到”它。
人们说一个名字完全合格是什么意思?
这算吗?
A::f()
Run Code Online (Sandbox Code Playgroud)
还是只有这个?
::A::f()
Run Code Online (Sandbox Code Playgroud)
而且,如果这是标准的,我找不到哪个措辞?
eer*_*ika 45
根据[expr.prim.id.qual],使用范围解析运算符的标识符是限定名称。否则不合格。
该标准并未定义完全限定的含义,但确实在[library] / [requirements] / [organization] / [contents] 中提及了该标准(引自标准草案)
每当提及标准库中定义的名称x时,除非另有明确说明,否则假定名称x完全限定为:: std :: x。例如,如果将库函数F的Effects:元素描述为调用库函数G,则意味着:: std :: G函数。
维基百科定义了全限定名:
在计算机编程中,完全限定名称是一个明确的名称,它指定调用所引用的对象,函数或变量,而与调用的上下文无关
只有从全局名称空间开始的合格名称是没有上下文的。这是常见用法。
Seb*_*edl 23
确实,这不是一个标准术语。在标准中没有定义。
但是,“完全合格”一词在[内容](撰写本文时最新的N4800草案中的15.5.1.1“图书馆内容”)中仅出现一次:
每当
x提及标准库中定义的名称时,除非另有明确说明,否则x假定该名称完全限定为::std::x。
因此,在此定义中,只有以开头的名称::是完全限定的。
| 归档时间: |
|
| 查看次数: |
2429 次 |
| 最近记录: |