为什么 C++ 函数中默认参数要放在最后?

2023-12-14

为什么 C++ 函数中默认参数要放在最后?


简化语言定义并保持代码可读性。

void foo(int x = 2, int y);

要调用它并利用默认值,您需要如下语法:

foo(, 3);

这可能是觉得太奇怪了。另一种选择是在参数列表中指定名称:

foo(y : 3);

必须使用一个新的符号,因为这已经意味着一些东西:

foo(y = 3); // assign 3 to y and then pass y to foo.

ISO 委员会考虑并拒绝了这种命名方法,因为他们对在函数定义之外为参数名称引入新的含义感到不舒服。

如果您对更多 C++ 设计原理感兴趣,请阅读C++的设计和演变作者:斯特鲁斯特鲁普。

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

为什么 C++ 函数中默认参数要放在最后? 的相关文章

随机推荐

  • 如何在嵌套列表上使用映射函数并将字符串转换为整数?

    我需要使用Python 2 4 4 中的map函数为列表中的每个项目加1 所以我尝试将字符串转换为整数 line 10 13 n 3 4 n 5 3 n 1 13 map lambda X X 1 int line 这不起作用是因为 n还有
  • 指针和多维数组[重复]

    这个问题在这里已经有答案了 可能的重复 如何在 C 中使用数组 二维数组是双指针吗 二维数组和指针 我知道这是一个非常基本的问题 但无论经过多少谷歌搜索 我都无法弄清楚这一点 这就是我将其发布在这里的原因 在 C 中考虑声明int x 10
  • getch() 和 getchar() 有什么区别?

    两者之间的确切区别是什么getch and getchar功能 getchar 是一个从标准输入获取字符的标准函数 getch 是非标准的 它从键盘获取一个字符 可能与标准输入不同 并且不回显它
  • 解码作为 json 响应返回的 html - android

    我将编码后的 html 作为 json 响应进行跟踪 并且不知道如何将其解码为正常的 html 字符串 顺便说一下 这是一个 achor 标签 x3ca hrefx3dx22http wordnetweb princeton edu per
  • 抛出异常时从堆栈跟踪和帧中获取文件名

    我试图在引发异常时获取文件名和源代码行号 但我什么也没得到 class Program static void Main string args try throw new InvalidOperationException catch I
  • C# try catch 语句中的变量作用域问题

    我不想在这里问这个简单的问题 但我已经研究了一段时间但无济于事 这极大地限制了我的申请 为什么我在 try 块内的 excelWorksheet 变量上出现红色波浪线 无法在此范围内声明名为 excelWorksheet 的本地或参数 因为
  • Swift 将货币字符串转换为双精度

    我有一根绳子 4 102 33 需要转换为双精度 这永远是美国 我唯一的方法是破解 and 然后转换为双精度 似乎NSFormatter只允许我转换为货币 而不是从货币转换 有没有内置功能或比仅仅删除更好的方法 and 在将其转换为双精度之
  • 10.8中如何显示文件复制进度

    FSCopyObject异步在 OS X v10 8 中已弃用 现在如何显示文件复制操作的进度指示器 我的回答假设你正在谈论展示一个项目的进展单个文件被复制 Yes FSCopyObjectAsync 已被弃用 但尚未消失 正如您所发现的
  • 使用 htaccess 重写特定文件的路径

    我想为具有长文件路径的目录中的特定文件创建一个友好的 URL 并重命名该文件 我什至不确定这是否可能 到目前为止我已经在 htaccess 中尝试过 RewriteEngine On Options FollowSymLinks Rewri
  • 使用 PIL 在 python 上向图像添加透明圆圈

    我有一个 python 程序 它创建一个带有圆圈的 png 文件 现在我希望这个圆是半透明的 给定一个 alpha 值 这是我所做的 img map Image new some arguments here tile Image open
  • 将 Woocommerce 变体属性下拉列表中的默认“选择选项”文本替换为不同的自定义文本

    我刚刚开始使用 Woocommerce 并对可变产品的下拉选择字段有疑问 在 woocommerce 中 如果在此下拉列表中未选择任何内容 则会显示 选择选项 文本 我需要每个下拉选择字段选项在尚未选择任何内容时显示不同的文本 我发现这段代
  • 在 MVC 视图中迭代匿名类型数据

    我将匿名类型的结果放入一些视图数据中 var projectData from p in db Projects orderby p title select new Title p title DevURL p devURL N A QA
  • 为什么返回响应的格式很奇怪?

    我正在学习node中的后端 我正在尝试执行以下代码 const axios require axios async function getData const resp await axios get https jsonplacehol
  • ng-animate:有条件地切换“返回”过渡(BUG?)

    大家好 通读这个谷歌群组以及从那里链接的小提琴和博客文章 我设法使用 ng animate 实现页面转换 Here s我的小提琴 the fiddle is nicely commented please let me know if an
  • mySQL子查询限制

    这可能是一个简单的 我怎样才能通过这个查询实现我想要的 delete from posts where id not in SELECT id FROM posts order by timestamp desc limit 0 15 所以
  • 如何从scrapy调用输出文件名

    scrapy crawl test o test123 csv 如何从代码中调用输出文件名 即我想使用在终端中输入的文件名spider closed功能 classmethod def from crawler cls crawler ar
  • 将产品标题移至 Woocommerce 存档页面上的产品图片上方

    我正在尝试将产品标题移至产品存档页面上的产品图像上方 我已经设法弄清楚如何移动信息 但价格也在图像上方移动 我只希望产品标题位于产品图片上方 价格应保持在较低水平 并带有 添加到购物车 按钮等 这是我的代码片段和迄今为止的结果屏幕截图 re
  • 奇怪/深奥的连接语法

    我已经获得了这个旧的 SQL 代码 表名已更改 来复制 并且 JOIN 语法不是我以前见过的东西 而且很难用 google 搜索到 select
  • 联邦学习:将自己的图像数据集转换为tff模拟Clientdata

    这是我的联邦学习测试的代码 from future import absolute import division print function import os import collections import warnings fr
  • 为什么 C++ 函数中默认参数要放在最后?

    为什么 C 函数中默认参数要放在最后 简化语言定义并保持代码可读性 void foo int x 2 int y 要调用它并利用默认值 您需要如下语法 foo 3 这可能是觉得太奇怪了 另一种选择是在参数列表中指定名称 foo y 3 必须