函数重载和函数指针

2024-02-20

函数的名称是指向该函数的指针...
但在函数重载的情况下,两个函数的名称是相同的......
那么这个名字指向哪个函数呢?


这取决于上下文;否则它是模棱两可的。看这个例子 http://www.java2s.com/Code/Cpp/Function/Assigningfunctionpointerstooverloadedfunctions.htm(除以下内容外均已修改):

void foo(int a) { }
void foo(int a, char b) { }

int main()
{
    void (*functionPointer1)(int);
    void (*functionPointer2)(int, char);
    functionPointer1 = foo; // gets address of foo(int)
    functionPointer2 = foo; // gets address of foo(int, char)
}

您可以通过多种方式做到这一点,但第一条规则是什么?

避免强制转换!

否则你会破坏类型安全,并可能在当时或以后搬起石头砸自己的脚。
(问题可能来自调用约定、您没有注意到的随机更改等)

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

函数重载和函数指针 的相关文章

随机推荐

  • laravel uuid 未在查询中显示

    我有一个 postgres 数据库表 它使用 uuid 作为主键 通过webpatser laravel uuid包 以及 可读 的网络 ID 通过温克拉 哈希德 当我查询数据库时 如果我dd 响应中 我看到了完整的 UUID 但如果我只是
  • LiveCharts WPF 实时数据缓慢。提高 LiveCharts 实时绘图性能

    我正在研究在 WPF 应用程序中使用 LiveChart 来实时绘制温度测量结果 我整理了一个简单的折线图示例 以 10Hz 读取数据 并为每个样本重新绘制 然而 我发现重绘率约为 1Hz 对于 WPF 实时图表工具来说 这似乎非常慢 我的
  • 对 RichTextBox 字符串的不同部分着色

    我正在尝试对要附加到 RichTextBox 的字符串部分进行着色 我有一个由不同字符串构建的字符串 string temp DateTime Now ToShortTimeString userid message Environment
  • bootstrap datepicker、beforeShowDay 和禁用日期数组

    我正在尝试使用引导日期选择器插件 https github com eternicode bootstrap datepicker blob release docs index rst https github com eternicod
  • Xamarin:如何获取光标/触摸坐标(位置X和Y)?

    介绍 我正在创建我的第一个 Xamarin 应用程序 首先针对 UWP 然后是 Android 最后可能是 iOS 基本上 应用程序应该检测多个手指 并且圆圈会在每个手指上弹出并跟随它们 My app 首先 我认为 UI 和图形无法使用 X
  • 从 Heroku 上运行的 Celery 任务连接时出现 MySQL 查询错误

    在对外部 MySQL 数据库执行查询时 但仅在从 Heroku 上运行的 Celery 任务连接时 我看到错误的查询结果 同样的任务 在我自己的机器上运行时不会显示这些错误 并且错误只出现大约一半的时间 尽管当它们失败时 all任务是错误的
  • 欧拉计划:#8 [重复]

    这个问题在这里已经有答案了 当试图回答这个问题时 1000位数字中相邻的四个数字 最大乘积为 9 9 8 9 5832 73167176531330624919225119674426574742355349194934 969835203
  • 如何在 Doctrine 查询生成器中进行多个 WHERE IN 列查询?

    我想使用带有两列检查的 WHERE IN 语句更新数据库中的多条记录 纯 MySql 原始查询看起来像这样 并且它有效 UPDATE poll quota q SET q count q count 1 WHERE q form id 14
  • 使用 PHP 缩进 HTML(5) 时出现问题

    免责声明 请坦白这个问题的长度 这是我见过的现实世界问题中反复出现的问题 数百次都没有明确的 可行的解决方案 呈现 我有数百个 HTML 文件 我想使用 PHP 进行批量缩进 起初我想到使用 Tidy 但你应该知道 它默认与 HTML5 标
  • xCode 7:链接器命令失败,退出代码为 1(使用 -v 查看调用)

    当我在模拟器中运行我的应用程序时 一切正常 但是当我尝试在我的设备 iOS 8 4 上运行它时 我收到此错误 ld warning directory not found for option F Applications Xcode be
  • R闪亮:将文本显示为多行代码

    我想在我闪亮的应用程序上显示一些 R 代码 因此 我用了verbatimTextOutput但我找不到换行和显示代码段落的方法 这个解决方案 在 R Shiny 中使用 renderText 输出多行文本 https stackoverfl
  • Java中有通配符这样的东西吗?

    我正在运行一个比较程序 此时它会进行直接的 字符串到字符串 比较 如果它们完全匹配 则输出它们是匹配的 好吧 我希望添加一个允许 相似性 的附加功能 例如 String em1 52494646 String em2 52400646 if
  • 从 Azure SQL DW 中更新?

    我在尝试执行 UPDATE FROM 查询时在 Azure SQL DW 中收到错误 错误是 UPDATE 和 DELETE 语句中的 FROM 子句不能包含子查询源或联接 这只是 SQL DW 特有的吗 除此之外 我认为这个查询没有任何问
  • 局部变量类型推断未被识别

    我安装了 JDK 10 来尝试新功能 但我对此非常着迷var 由于某种原因 即使IntelliJ 版本2018 1 中添加了JDK 以下代码仍然无法编译 说Java找不到符号var public class Variations publi
  • 尝试返回列表中的数字

    我对这里的代码有几个疑问 我想做的是编写一个函数 它接受 2 个输入 一个列表和一个选项 其中选项为 0 或 1 并返回列表中的数字列表 如果选项为 0 它将返回大于 5 或 小于 5 的数字 如果选项为 1 它将返回第一个列表中所有奇数的
  • 实体框架和多线程

    我们在设计多线程实体框架驱动的应用程序时遇到一些问题 需要一些指导 我们在不同的线程上创建实体 将实体添加到集合中 然后将集合数据绑定到各种 WPF 控件 ObjectContext 类不是线程安全的 因此管理它我们基本上有 2 个解决方案
  • 闪亮的 downloadHandler 超时

    我制作了一个闪亮的应用程序 需要下载比下载处理程序允许的时间更长的时间 在我下载的数据完成之前 我不断收到一条错误消息 提示 未收到数据 有什么方法可以增加闪亮服务器应用程序中 downloadHandler 的超时长度吗 连接的默认超时时
  • 使用 git diff 创建部署文件列表时出现问题

    我想使用类似以下命令来创建要部署的 tarball tar cjvf deploy tar bz2 git diff name only 0abc 1def 当我单独运行它时 内部 git diff 命令会生成一个包含相对路径的文件列表 不
  • 分析字母数字字符串的格式

    我正在尝试编写一个函数 该函数接受一个字符串 对其进行解析 然后返回另一个字符串 该字符串总结了原始字符串中连续字母或数字字符的数量 例如 字符串999aa45bbx会回来3N2A2N3A i e 3个数字 接下来是 2 个阿尔法 2 个数
  • 函数重载和函数指针

    函数的名称是指向该函数的指针 但在函数重载的情况下 两个函数的名称是相同的 那么这个名字指向哪个函数呢 这取决于上下文 否则它是模棱两可的 看这个例子 http www java2s com Code Cpp Function Assign