指向非静态成员函数的指针“正式”不被视为指针

2023-12-26

我碰到this https://stackoverflow.com/a/71870413/12002570其中指出:

成员函数指针不是指针。指向非成员函数(包括静态成员函数)的指针是指针。

上面的引用似乎表明指向非静态成员函数的指针不是指针。

同样,我读到here https://stackoverflow.com/a/2402607/12002570:

成员指针是与普通指针不同的类型类别。


我的问题是上述引用在技术上(正式根据标准)正确吗?我的意思是我们使用这个词,指向非静态成员函数的“指针”。但如果它们实际上不是指针,那么为什么首先使用术语“指针”呢?我的理解是,这是因为虽然“指向成员函数的指针”在很多方面与普通指针不同,但它们在一方面仍然与普通指针相似,即它们指向某个东西(意味着保存地址)。

我也尝试过:

std::cout<<std::is_pointer_v<void(A::*)()><<std::endl;

这使0确认指向非静态成员函数的指针不被视为指针。


所引用的相关陈述似乎已通过标准中的以下陈述进行了验证。

From dcl.mptr#3 的注释 https://timsong-cpp.github.io/cppwp/n4659/dcl.mptr#3:

[ 注:另请参见[expr.unary]和[expr.mptr.oper]。“指向成员的指针”类型与“指针”类型不同,也就是说,指向成员的指针仅由指向成员声明符语法的指针声明,而绝不会由指针声明符语法声明。 C++ 中没有“成员引用”类型。 ——《尾注》

并从基本化合物#3 https://timsong-cpp.github.io/cppwp/n4659/basic.compound#3:

...除了指向静态成员的指针之外,引用“指针”的文本不适用于指向成员的指针...

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

指向非静态成员函数的指针“正式”不被视为指针 的相关文章

随机推荐

  • SVG 线端点独立动画

    我正在尝试对 SVG 线端点之一进行动画处理 使其沿着特定路径移动 而另一个端点保持静止 因此线会拉伸和收缩 同时保持笔直 到目前为止 我所实现的目标是使我的整条线沿着路径移动 并将端点之一绑定到它
  • Android 问答游戏 - 每个问题的倒计时器

    我使用此处的教程创建了一个适用于 Android 的测验应用程序 http automateddeveloper blogspot co uk 2011 06 getting started complete android app htm
  • 如何停止 html 属性中 onclick 事件的事件传播?

    我有一个带有 onclick 属性的 html 元素 我需要防止该事件冒泡 我尝试这样做 div 和这个 div 但两者都不起作用 我绝对需要在 html onclick 属性中执行此操作 因为此 div 是 Razor 部分视图的一部分
  • 如何在 Mac 10.7 上的 virtualenv 中安装 MatPlotLib

    这是我尝试做的 SAASSenv miki725mac SAASSenv miki725 python Python 2 7 2 v2 7 2 8527427914a2 Jun 11 2011 15 22 34 GCC 4 2 1 Appl
  • c 编程难题

    给定一个所有元素均为正数的数组 求子序列的最大和 约束条件是序列中的 2 个数字不应在数组中相邻 因此 3 2 7 10 应返回 13 3 和 10 之和 或 3 2 5 10 7 应返回 15 3 5 和 7 之和 我尝试使用所有可能允许
  • NPM 搜索:内存不足

    在 ubuntu 14 10 3 13 0 76 generic 120 Ubuntu SMP Mon Jan 18 15 59 10 UTC 2016 x86 64 x86 64 x86 64 GNU Linux 上 当我这样做时 sud
  • 实现 AsyncTask 的技巧

    大家好 我有一个应用程序 可以在位图上放置一个圆圈 并使用滑动条更改圆圈内像素的 RGB 值 我想使用 asynctask 来加速更改像素的过程 我不知道从哪里开始 我在活动文件底部注释掉了一些代码 因为这是我第一次尝试 谁能指出我如何实现
  • 使用 OpenCV 进行头部(和肩部)检测

    如果我问了一个太新手的问题 请提前道歉 我是 OpenCV 的初学者 我已经完成了一些教程 但我还没有很好地掌握它的概念 问题 如何使用 OpenCV 进行头部检测 不是面部检测 例如在公共汽车或房间内的照片中 注意 我不想做人脸检测 只需
  • 如何使用 firestore 的安全规则验证数组值?

    我有一个创建以下 JSON 结构的表单 reviewed false title Just a title user UYV9TRKXfNW1NeCyFyfjZfagJ8B items age 33 experience Newcomer
  • 在 Laravel Blade 中检索外部 api 的数据

    public function RetrieveStatus response Http get https exemple exemple com fr api
  • 在这种情况下,一般异常处理不是那么糟糕吗? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 在下面的代码中 我尝试发送一组通知 我想知道通知是否已成功发送 稍后将其放入数据库中 这样就不再发送它 我抓到了是不是很糟糕Exception这
  • Django - 检查用户是否对每个网址进行了身份验证

    在我的 html 上 我可以使用以下语法检查用户是否已登录 if user is authenticated div div else p Please Log in p endif 但是 如果我想检查我正在渲染的每个 html 文件的用户
  • “调用/应用”和“绑定”之间有什么区别[重复]

    这个问题在这里已经有答案了 var obj x 81 getX function console log this x var getX obj getX bind obj use obj as this getX 81 var getX
  • HttpDelete 中的 setEntity

    HttpDelete 是否包含 setEntity 等方法 如 HttpPost 或 HttpPut 当我使用 HttpPost 时 我会做这样的事情 httppost setEntity new UrlEncodedFormEntity
  • Rails 3 序列化问题

    我有一个在 ror 2 3 x 上运行良好的应用程序 我在升级到 Rails 3 时遇到序列化问题 代码看起来像这样 class PaymentTransaction lt ActiveRecord Base serialize respo
  • Spring Boot Actuator - 多个健康端点

    有没有办法在 Spring Boot 应用程序上支持多个健康端点 原因如下 标准执行器运行状况检查很棒 内置检查很棒 自定义选项很棒 对于单个用例 报告一般应用程序运行状况 但我想要可以从 AWS Elastic Load Balancer
  • 如何在 iPhone/Mac 上使用 CoreAudio 合成声音

    我想在 iPhone 中播放合成声音 我不想使用预先录制的声音并使用 SystemSoundID 来播放现有的二进制文件 而是对其进行合成 部分原因是我希望能够连续播放声音 例如 当用户的手指位于屏幕上时 而不是一次性的声音样本 如果我想合
  • PyMongo 的批量写入操作功能与生成器

    我想使用 PyMongo 的bulk http api mongodb org python current examples bulk html执行写操作的写操作功能 分批进行 以减少网络往返次数并提高吞吐量 我还发现here http
  • SQL 2008 - INFORMATION_SCHEMA 视图中的外键约束

    我正在编写一个 C 单元测试 用于根据目标数据库 始终是 SQL 2008 以及数据映射到的类来验证 ORM 类的字符串属性 检查指定的外键在数据库中是否有效很容易 static private bool ConstraintExsits
  • 指向非静态成员函数的指针“正式”不被视为指针

    我碰到this https stackoverflow com a 71870413 12002570其中指出 成员函数指针不是指针 指向非成员函数 包括静态成员函数 的指针是指针 上面的引用似乎表明指向非静态成员函数的指针不是指针 同样