带空括号的默认构造函数

2023-12-01

是否有任何充分的理由表明一组空的圆括号(圆括号)对于调用 C++ 中的默认构造函数无效?

MyObject  object;  // ok - default ctor
MyObject  object(blah); // ok

MyObject  object();  // error

我似乎每次都会自动输入“()”。有充分的理由不允许这样做吗?


最麻烦的解析

这与所谓的“C++ 最令人烦恼的解析”有关。基本上,任何可以被编译器解释为函数声明的内容都将被解释为函数声明。

同一问题的另一个例子:

std::ifstream ifs("file.txt");
std::vector<T> v(std::istream_iterator<T>(ifs), std::istream_iterator<T>());

v被解释为具有 2 个参数的函数声明。

解决方法是添加另一对括号:

std::vector<T> v((std::istream_iterator<T>(ifs)), std::istream_iterator<T>());

或者,如果您有 C++11 和列表初始化(也称为统一初始化)可用:

std::vector<T> v{std::istream_iterator<T>{ifs}, std::istream_iterator<T>{}};

这样,它就无法被解释为函数声明。

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

带空括号的默认构造函数 的相关文章

  • 向进度条添加百分比文本 C#

    我有一个方法可以显示进程栏何时正在执行以及何时成功完成 我工作得很好 但我想添加一个百分比 如果完成 则显示 100 如果卡在某个地方 则显示更少 我在网上做了一些研究 但我无法适应我正在寻找的解决方案 这是我的代码 private voi
  • 未提供参数时如何指定 C# System.Commandline 行为?

    在我的控制台应用程序中 当未提供控制台参数时 将执行我指定列表 在本例中为参数 3 的任何处理程序 调用该处理程序时 布尔参数设置为 false 但对我来说 根本不调用它更有意义 如何防止这种情况发生并显示帮助文本 using System
  • 为什么 int8_t 和用户通过 cin 输入显示奇怪的结果[重复]

    这个问题在这里已经有答案了 一小段代码让我发疯 但希望你能阻止我跳出窗外 看这里 include
  • 如何让 Swagger 插件在自托管服务堆栈中工作

    我已经用 github 上提供的示例重新提出了这个问题 并为任何想要自己运行代码的人提供了一个下拉框下载链接 Swagger 无法在自托管 ServiceStack 服务上工作 https stackoverflow com questio
  • 如何将非静态类成员“std::bind”绑定到 Win32 回调函数“WNDPROC”?

    我正在尝试将非静态类成员绑定到标准WNDPROC http msdn microsoft com en us library ms633573 aspx功能 我知道我可以通过将类成员设为静态来简单地做到这一点 但是 作为一名 C 11 ST
  • 计算 Richtextbox 中所有单词的最有效方法是什么?

    我正在编写一个文本编辑器 需要提供实时字数统计 现在我正在使用这个扩展方法 public static int WordCount this string s s s TrimEnd if String IsNullOrEmpty s re
  • MVC 在布局代码之前执行视图代码并破坏我的脚本顺序

    我正在尝试将所有 javascript 包含内容移至页面底部 我正在将 MVC 与 Razor 一起使用 我编写了一个辅助方法来注册脚本 它按注册顺序保留脚本 并排除重复的内容 Html RegisterScript scripts som
  • 使用 Newtonsoft 和 C# 反序列化嵌套 JSON

    我正在尝试解析来自 Rest API 的 Json 响应 我可以获得很好的响应并创建了一些类模型 我正在使用 Newtonsoft 的 Json Net 我的响应中不断收到空值 并且不确定我的模型设置是否正确或缺少某些内容 例如 我想要获取
  • 获取两个工作日之间的天数差异

    这听起来很简单 但我不明白其中的意义 那么获取两次之间的天数的最简单方法是什么DayOfWeeks当第一个是起点时 如果下一个工作日较早 则应考虑在下周 The DayOfWeek 枚举 http 20 20 5B1 5D 3a 20htt
  • 使用接口有什么好处?

    使用接口有什么用 我听说它用来代替多重继承 并且还可以用它来完成数据隐藏 还有其他优点吗 哪些地方使用了接口 程序员如何识别需要该接口 有什么区别explicit interface implementation and implicit
  • 在 C 中初始化变量

    我知道有时如果你不初始化int 如果打印整数 您将得到一个随机数 但将所有内容初始化为零似乎有点愚蠢 我问这个问题是因为我正在评论我的 C 项目 而且我对缩进非常直接 并且它可以完全编译 90 90 谢谢 Stackoverflow 但我想
  • 是否有实用的理由使用“if (0 == p)”而不是“if (!p)”?

    我倾向于使用逻辑非运算符来编写 if 语句 if p some code 我周围的一些人倾向于使用显式比较 因此代码如下所示 if FOO p some code 其中 FOO 是其中之一false FALSE 0 0 0 NULL etc
  • DbContext 和 ObjectContext 有什么区别

    From MSDN 表示工作单元和存储库模式的组合 使您能够查询数据库并将更改分组在一起 然后将这些更改作为一个单元写回存储 DbContext在概念上类似于ObjectContext 我虽然DbContext只处理与数据库的连接以及针对数
  • 如何在 32 位或 64 位配置中以编程方式运行任何 CPU .NET 可执行文件?

    我有一个可在 32 位和 64 位处理器上运行的 C 应用程序 我试图枚举给定系统上所有进程的模块 当尝试从 64 位应用程序枚举 32 位进程模块时 这会出现问题 Windows 或 NET 禁止它 我认为如果我可以从应用程序内部重新启动
  • 如何在 Xaml 文本中添加电子邮件链接?

    我在 Windows Phone 8 应用程序中有一些大文本 我希望其中有电子邮件链接 例如 mailto 功能 这是代码的一部分
  • 使用自定义堆的类似 malloc 的函数

    如果我希望使用自定义预分配堆构造类似 malloc 的功能 那么 C 中最好的方法是什么 我的具体问题是 我有一个可映射 类似内存 的设备 已将其放入我的地址空间中 但我需要获得一种更灵活的方式来使用该内存来存储将随着时间的推移分配和释放的
  • C# 中的合并运算符?

    我想我记得看到过类似的东西 三元运算符 http msdn microsoft com en us library ty67wk28 28VS 80 29 aspx在 C 中 它只有两部分 如果变量值不为空 则返回变量值 如果为空 则返回默
  • 如何设置 log4net 每天将我的文件记录到不同的文件夹中?

    我想将每天的所有日志保存在名为 YYYYMMdd 的文件夹中 log4net 应该根据系统日期时间处理创建新文件夹 我如何设置它 我想将一天中的所有日志保存到 n 个 1MB 的文件中 我不想重写旧文件 但想真正拥有一天中的所有日志 我该如
  • 使用 C# 读取 Soap 消息

  • 如何部署“SQL Server Express + EF”应用程序

    这是我第一次部署使用 SQL Server Express 数据库的应用程序 我首先使用实体 框架模型来联系数据库 我使用 Install Shield 创建了一个安装向导来安装应用程序 这些是我在目标计算机中安装应用程序所执行的步骤 安装

随机推荐

  • 将txt的特定行放入数组中

    我正在为我的 C 课程制作一个 谁想成为百万富翁 游戏 我有 15 篇文章 每篇有 3 个问题 答案 例子 Whats the capital of Brasil Rio de Janeiro Brasilia Sao Paulo Curi
  • 评估转义字符串

    我的文件中有一些已经转义的字符串 所以文件的内容如下所示 Hello nWorld This is tGreat 当我阅读该文件时 我得到 n作为两个不同的角色而不是一个 如何将转义字符串转换为非转义字符串 基于 deAtog的代码 我做了
  • 设置单元格 (n) 颜色索引等于单元格 (n - 1) 颜色索引

    我从这个宏中得到了一个奇怪的输出 宏应该使用上面的颜色填充空白单元格 创建一个颜色块 结果不是我所期望的 尽管Debug Print显示相同ColorIndex number 知道这里发生了什么吗 Option Explicit Sub C
  • 如何从 BigQuery 中的 Openstreet 地图数据集中提取所有国家/地区几何图形

    我正在使用此查询使用 OSM 提取所有国家 地区的几何形状 它工作正常 但我确信 它正在创建重复项 因为我使用国旗作为参考 有些地方有国旗 但它们并不是真正的国家 地区 SELECT feature type osm id osm time
  • 从 Eclipse 中使用自定义 Firefox 配置文件启动 Selenium

    我正在 Eclipse 中运行 Selenium 测试 但无法加载自定义 Firefox 配置文件 大多数消息来源建议我需要像这样启动 Selenium 服务器 java jar selenium server jar firefoxPro
  • 使用 Entity Framework 4 在运行时打开 SQL CE 文件

    我正在开始使用 Entity Framework 4 并创建一个演示应用程序作为学习练习 该应用程序是一个简单的文档生成器 它使用 SQL CE 存储 每个文档项目都有自己的 SQL CE 数据文件 用户打开这些文件之一来处理项目 EDM
  • 正确的用户输入 - x86 Linux 汇编

    所以我正在使用 NASM 为 Linux 开发一个 x86 汇编程序 该程序主要询问用户的姓名和最喜欢的颜色 执行此操作并将两个字符串存储在 bss 部分中声明的变量中后 程序会打印 No way用户名 最喜欢的颜色也是我最喜欢的颜色 我遇
  • 如何使用Python计算目录中的文件数量

    我如何只计算files在目录中 这将目录本身算作一个文件 len glob glob os listdir 会比使用稍微更有效glob glob 要测试文件名是否是普通文件 而不是目录或其他实体 请使用os path isfile impo
  • 在单独的页面中打印 Javascript? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我目前正在使用 PHP 并获取完整的用户详细信息并将其显示到 html 表中 我遇到的问题是 当我打印 3 个表格时 每个表格都完美地打印在每页上
  • 为什么在更改 main 的签名时会出现段错误?

    我试图涉足 C 语言 并编写了这个程序 在随机位置显示我的 RAM 的 kb 这是代码 并且运行良好 include
  • 哪个 DLL 具有 Windows.Devices.Gelocation 命名空间?

    我正在使用 VS 2012 我需要编写使用 Windows Devices Gelocation 命名空间中的类的代码 我下载了示例程序 但它无法在 VS2012 中加载 因为它需要 VS 2013 并且该类的文档没有指示该命名空间位于哪个
  • Android 有准确的重复闹钟系统吗?

    背景 I m currently developing an application for Android which revolves around an alarm that goes of on an user specified
  • 静脉中的行人模拟 (omnet++/sumo)

    我正在尝试在 omnet 中运行相扑行人模拟 为了保持简单 我是初学者 我决定使用Erlangen示例提供了静脉并用几个行人扩展它 我添加了相扑中的行人并运行它 它工作得很好 你可以看到这张照片中的行人和汽车 接下来我尝试在 omnet 中
  • opencv 将图像与文本二值化

    我需要用文本对图像进行二值化 它工作得很好 但在某些情况下输出是空的 白色图像 code Compile g txtbin cpp o txtbin pkg config opencv cflags libs Run txtbin inpu
  • 如何检查PCF版本

    有没有办法知道哪个Pivotal Cloud Foundry我们正在使用的许可版本 我看到公共 PCF 中免费提供一些市场服务 但在我们使用的许可 PCF 版本中不提供这些服务 我假设版本不匹配可能是原因 作为一个正常人cf对于 Pivot
  • HighCharts:水平条形图的对数刻度

    我正在与高图表生成条形图 我的值范围可以从最小 0 到最大 100k 示例 因此 图表中的一个条可能非常小 而另一个则可能非常长 HighCharts 引入了 对数缩放 功能 可以看到其中的例子HERE 我的js代码是这样写的jsfiddl
  • Woocommerce:如何从 id 获取产品 slug?

    目前 我的购物车中有可用的产品 ID 我需要检索该商品 我怎样才能做到这一点 您可以使用get post product get post 27 slug product gt post name echo slug
  • .htaccess 中的条件 DirectoryIndex

    是否可以将 DirectoryIndex 值设置为 htaccess基于 IP 的条件文件 因此 例如 我的 IP 会看到DirectoryIndex正如index html 和其他人看到的DirectoryIndex作为index php
  • 具有多个手柄和内容背景颜色的滑块

    我正在尝试使用 Jquery UI 滑块 其中我可以有多个句柄 function var handlers 25 50 75 slider slider min 0 max 100 values handlers slide functio
  • 带空括号的默认构造函数

    是否有任何充分的理由表明一组空的圆括号 圆括号 对于调用 C 中的默认构造函数无效 MyObject object ok default ctor MyObject object blah ok MyObject object error