为什么编译器支持冗余作用域限定,它合法吗?

2023-11-30

我在两个编译器上进行了测试,并惊讶地发现两者都支持以下内容定义无怨无悔:

class A {
  A();
};

A::A::A() {}
   ^^^

请注意,这对于方法也是成功的,尽管当声明过度限定时会被标记。

问题:

  • 这是一个有效的 C++ 程序吗?
  • 如果是这样,它有什么目的——或者只是一个副产品?

更新细节:

如果最初的问题不清楚或太短:我很好奇为什么允许冗余资格定义(上面也添加了重点)。


Clang 是 Apple 的 GCC 4.2 + LLVM 编译器


是的,这是允许的(§9/2):

类名也被插入到类本身的范围中;这称为注入类名。出于访问检查的目的,注入的类名称被视为公共成员名称。

有关导致类名注入的推理的信息,您可能需要阅读N0444.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么编译器支持冗余作用域限定,它合法吗? 的相关文章

随机推荐

  • 自动从网站按钮单击每日下载 csv 文件

    我想自动化访问网站 单击按钮和保存文件的过程 在此站点上下载文件的唯一方法是单击按钮 您无法使用 url 导航到该文件 我一直在尝试使用 phantomjs 和 casperjs 来自动化这个过程 但没有取得任何成功 我最近尝试在这里使用布
  • 在 iPhone OS 4.0 上从相机获取曝光值

    拍照时可以获取相机的曝光值 无需将其保存到 SavedPhotos A光度计iPhone 上的应用程序可能通过使用一些私有 API 来执行此操作 该应用程序仅在 iPhone 3GS 上执行此操作 因此我猜测它可能与创建图像时填充此信息的
  • Django get_or_create 在导入 CSV 时返回 models.DoesNotExist

    我花了很长时间才弄清楚这一点 我只是尝试使用 Python 的 csv 模块和 Django 的 get or create 导入 CSV 文件 这是我的简单代码 基于this code import csv from models imp
  • 如何将包含指数数的字符串转换为十进制并返回字符串

    我正在 delphi 和 c 之间转换代码 值作为字符串存储在 delphi 应用程序的文本文件中 存储值的示例为 4 42615029219009E 5 现在 在我的 C 应用程序中 我需要读入该字符串值 然后能够再次写出该值 最初我使用
  • BlackBerry touchEvent 外部字段触发 fieldChanged

    我遇到一个问题 如果我按下 触摸某个字段之外fieldChanged 具有焦点的字段会触发事件 我的布局MainScreen非常简单 就像这样 public class myMainScreen extends MainScreen imp
  • 使用Python抓取谷歌搜索结果标题和网址

    我正在使用 Python 3 7 开发一个项目 其中我需要抓取标题和 URL 的前几个 Google 结果 我已经使用 BeautifulSoup 尝试过 但它不起作用 这是我尝试过的 import requests from my fak
  • Python:通过加窗的高通 FIR 滤波器

    我想通过 Python 中的窗口创建一个基本的高通 FIR 滤波器 我的代码在下面 并且是故意惯用的 我知道你 很可能 可以用 Python 中的一行代码来完成这个 但我正在学习 我使用了带有矩形窗口的基本 a sinc 函数 我的输出适用
  • 如何清除字符串文字池中的条目[重复]

    这个问题在这里已经有答案了 可能的重复 String intern 的垃圾收集行为 Java 如何存储字符串以及子字符串内部如何工作 根据我的说法 声明为 null 时的 String 引用不会从字符串文字池中删除该条目 我想知道如何清除它
  • 将登录表单与 scrapy 一起使用

    scrapy框架 https github com scrapy scrapy 提供了一个库 供登录需要身份验证的网站时使用 https github com scrapy loginform 我已经浏览了这两个程序的文档 但是我似乎无法弄
  • 在 Kext 中链接 Dylib?

    我为 OS X 编写了一个 kext 它使用 IOKit libusb 和 jpeglib 实现了基于 USB 的帧缓冲区 这两个都是 dylib 由于某种原因 它们无法在 XCode 中正确链接 并且操作系统在尝试加载 kext 时不会解
  • Bokeh 中数据表中的点击选择图表

    我从其他来源获取了以下代码 这不是我自己的代码 该代码允许您在数据表中选择一个单元格 该单元格的 下载 数据将根据所选单元格的行绘制图表 如何扩展此代码 以便如果我有多个变量 例如 下载 和 上传 以及数据表中的更多列 我可以根据该单元格绘
  • 将序列重置为特定值

    我们正在创建现有数据库的 空白 最小副本 并希望将其中一个序列重置为一个值 将数字放在下面是可行的 但我想在导出中的序列具有更高的数字时使其可重用 试图避免删除和重新创建 您可以执行相当于子选择和计算的操作来获取值 还是需要将其设置为第一个
  • 在asp.net中使用SqlDataSource更新gridview

    我想使用 gridview 更新记录SqlDataSource 这就是我正在做的事情 下面是我的 gridview 标记
  • MySQL数据使用谷歌云SQL和SQLAlchemy进行缓存[重复]

    这个问题在这里已经有答案了 这是我在 stackoverflow 上的第一个问题 所以如果我做错了什么 请纠正我 我的数据来自 Google Cloud SQL 托管的数据库 并使用 Flask SQLAlchemy 进行缓存 当我添加新记
  • MySql 查询检索 xml 元素属性的值

    我有 mysql 表 比如 TestSuite 在 TestSuiteDefinition 列中保存 xml 内容 尽管是长文本
  • 在线使用Z3Py证明n^5 <= 5 ^n for n >= 5

    使用以下代码 n Int n s Solver s add n gt 5 s add Not n 5 lt 5 n print s print s check 我们得到以下输出 n 5 n 5 5 n unknown 也就是说 Z3Py 无
  • 我将如何为我的不和谐机器人令牌创建 .env 文件?

    因此 最近有人告诉我 仅将 Discord Bot 令牌存储在顶部的变量中是不好的做法 而 env 文件会更好 有人可以向我解释如何创建包含令牌的 env 文件并将其导入到我的 bot py 文件中吗 您可以使用名为的库 模块python
  • 什么是%pylab?

    我不断看到人们使用 pylab在各种代码片段中 尤其是 iPython 然而我看不到在哪里 pylab在学习Python 以及我拥有的其他几本Python书籍 中的任何地方都提到过 但我不太确定它的含义 我确信答案很简单 但有人能启发我吗
  • 通过 React 中的 API 在 powerbi 服务中创建报告

    我们有一个 React 应用程序 我真正想做的是将 JSON 发送到 power bi 服务 并且根据该 json 数据 powerbi 服务应该为我创建一个可视化 图形报告 我希望整个过程自动化 到目前为止我所做的是 我使用本文档中提到的
  • 为什么编译器支持冗余作用域限定,它合法吗?

    我在两个编译器上进行了测试 并惊讶地发现两者都支持以下内容定义无怨无悔 class A A A A A 请注意 这对于方法也是成功的 尽管当声明过度限定时会被标记 问题 这是一个有效的 C 程序吗 如果是这样 它有什么目的 或者只是一个副产