在 C++ 中构造对象的不同方法

2024-04-13

我想使用 C++ 在堆栈中构造一个对象。 你知道这两种调用构造函数的方式(带括号和不带括号)有什么区别吗:

a) MyClass object ;

b) MyClass object() ;

我正在使用 MFC,在为主应用程序构造全局变量时,如果我使用后一种方式,则会出现异常,我认为这两种方式是等效的。

谢谢你们提供的任何信息。


这是 C++ 的陷阱之一。

MyClass object();

是一个函数的方式原型是在 C++ 中定义的,因此编译器认为您正在尝试在另一个函数的中间声明另一个函数。

如果您想调用默认构造函数(即不带参数的构造函数),请使用以下语法:

MyClass object;

另请参阅 Garth Gilmour 对现已删除的问题的回答您(最不)最喜欢的语法陷阱是什么? https://stackoverflow.com/a/163129/1709587:

In C++

Employee e1("Dave","IT"); //OK
Employee e2("Jane"); //OK
Employee e3(); //ERROR - function prototype
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 C++ 中构造对象的不同方法 的相关文章

  • Task.Factory.StartNew 或 Parallel.ForEach 对于许多长时间运行的任务? [复制]

    这个问题在这里已经有答案了 可能的重复 Parallel ForEach 与 Task Factory StartNew https stackoverflow com questions 5009181 parallel foreach
  • 如何向WebRequest添加参数?

    我需要从 Web 服务调用一个方法 所以我编写了以下代码 private string urlPath http xxx xxx xxx manager string request urlPath index php org get or
  • 套接字编程-listen() 和accept() 有什么区别?

    我一直在读本教程 http www cs rpi edu moorthy Courses os98 Pgms socket html了解套接字编程 看来listen and accept 系统调用都做同样的事情 即阻塞并等待客户端连接到使用
  • 是否有可能将 *.pdb 文件包含到发布版本中以查看错误行号?

    我做了一个项目 所有设置都是默认的 当我在调试模式 构建配置 调试 下运行它并遇到异常时 它转储到我的自定义日志记录机制 其中包含错误行号 但是当我运行发布构建时 记录相同的异常 没有行号 只有方法抛出和记录调用堆栈 是否有可能在发布配置
  • std::bind2nd 和 std::bind 与二维数组和结构数组

    我知道 C 有 lambda 并且 std bind1st std bind2nd 和 std bind 已弃用 然而 从C 的基础开始 我们可以更好地理解新特性 所以 我从这个非常简单的代码开始 使用int 数组s 第一个例子 与std
  • ASMX Web 服务,测试表单仅在本地计算机上适用于一种 WebMethod

    我有一个正在测试的 ASMX WebService 并且在大多数方法上我都可以使用测试表单进行测试 然而 我确实有一种方法 测试表上写着 The test form is only available for requests from t
  • 如何部署包含第三方 DLL 文件的 C# 应用程序?

    首先 我对部署了解不多 我希望我的问题有意义 我需要将 C 应用程序安装 部署到多个桌面 它需要一个第三方 DLL 文件 一个 C 库 lpsolve55 dll 对于那些感兴趣的人 它是一个免费的 MIP LP 求解器 请参阅 lpsol
  • 应用新设置时如何防止 GraphicsDevice 被丢弃?

    我的游戏窗口允许手动调整大小 这意味着它可以像任何其他普通窗口一样通过拖动其边缘来调整大小 游戏还利用了RenderTarget2D rt2d 在主 Draw 方法中设置主渲染目标 GraphicsDevice SetRenderTarge
  • 原子的 C++ 内存屏障

    在这方面我是个新手 谁能提供以下内存屏障之间差异的简化解释 窗户MemoryBarrier 围栏 mm mfence 内联汇编asm volatile memory 内在的 ReadWriteBarrier 如果没有简单的解释 一些好文章或
  • C# 反序列化过程中创建指向父对象的指针

    我有这样的课程 Serializable public class child public Parent parent Serializable public class Parent public List
  • 何时分离或加入 boost 线程?

    我有一个方法 大约每 30 秒触发一次 我需要在一个线程中包含它 我有一个可以从类外调用的方法 像 call Threaded Method 这样的东西会创建一个线程 该线程本身会调用最终的线程方法 这些是 MyClass 的方法 void
  • 文件加密与解密问题

    我一直在尝试在 VC Express 2010 中加密和解密文件 我见过的所有教程和文档都需要两个FileStreams 来加密文件 一个用于读取未加密的版本 另一个用于加密 当我实际编写代码时 它不断抛出错误 告诉我它无法打开该文件 因为
  • List 或其他类型上的 string.Join

    我想将整数数组或列表转换为逗号分隔的字符串 如下所示 string myFunction List
  • XCode std::thread C++

    对于学校的一个小项目 我需要创建一个简单的客户端 服务器结构 它将在路由器上运行 使用 openWRT 并且我试图在这个应用程序中使用线程做一些事情 我的 C 技能非常有限 所以我在internet https stackoverflow
  • 模板定义中的友元函数

    我的问题有点相关this https stackoverflow com questions 1297609 overloading friend operator for template class one 我想重载某些类的运算符 te
  • 按 Enter 继续

    这不起作用 string temp cout lt lt Press Enter to Continue cin gt gt temp cout lt lt Press Enter to Continue cin ignore 或更好 in
  • 检查另一种形式的线程是否仍在运行

    我有一个涉及两个窗体的 Windows 窗体应用程序 子表单用于将数据导出到 CSV 文件 并使用后台工作者写入文件 当这种情况发生时 我隐藏了表格 当后台工作程序运行时 父窗体仍然处于活动状态 因此即使后台工作程序正在写入文件 用户也可以
  • Web API 2.0 使用 pascalcase 模型接收驼峰式命名的 JSON 数据

    我正在尝试对我的 Web API 进行 PUT 调用 我在 WebApiConfig cs 中设置了以下内容 以处理以驼峰形式将数据发送回我的 Web 项目 config Formatters JsonFormatter Serialize
  • 如何创建实体集或模型而不在数据库中创建相应的表 - 实体框架

    我的 sqlserver 数据库中有一个存储过程 它返回多个结果集 我正在使用 msdn 中的以下链接从实体框架中的 SP 读取多个结果集 https msdn microsoft com en us library jj691402 v
  • 线程安全的有限大小队列,不使用锁

    我正在尝试编写一个主题队列 但遇到死锁和其他多线程问题 我想用Interlocked CompareExchange避免lock用法 但这段代码并没有按预期工作 它只是擦除整个队列 我在这里做错了什么 public class FixedS

随机推荐

  • org.springframework.security.authentication.AuthenticationCredentialsNotFoundException:在SecurityContext中找不到身份验证对象

    我在以下环境中有一个网络应用程序 春季3 2 2 春季安全3 2 0 JPA 2 0 JSF 2 1 9 我已将以下与 Spring 安全相关的库添加到类路径中 spring security core 3 2 0 M1 jar sprin
  • 如何找到只安装了facebook应用的好友? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在 Facebook 上使用一个应用程序 我想找出仅包含在 Facebook 上安装相同应用程序的朋友的列表 而不是整个朋友列表 我正在
  • 嵌套字典理解python

    我无法理解 Python 3 中的嵌套字典推导式 我从下面的示例中得到的结果输出了正确的结构 没有错误 但只包含内部键 值对之一 我还没有找到像这样的嵌套字典理解的例子 谷歌搜索 嵌套字典理解 python 显示遗留示例 非嵌套理解或使用不
  • 如何长按主页、后退或最近使用的应用程序按钮打开我的 Android 应用程序?

    我希望我的用户能够通过长按后退按钮 最近使用的应用程序按钮或主页按钮来启动我的应用程序 或者甚至长按音量增大 减小或电源按钮 这将允许用户在不触摸屏幕图标的情况下执行我的应用程序 顺便说一句 我提供了与 Google Now 类似的语音解决
  • 将值从一个 jsp 页面传递到另一个 jsp 页面

    我正在将值从数据库检索到 jsp 中的表 到列 我想将该值插入到数据库中的另一个表中 为此 我使用另一个 jsp 表将该值插入到数据库中 并在之前的 jsp 页面表单操作选项卡中调用该 jsp 页面 I use request getPar
  • 时间:2019-03-14 标签:c++

    我正在编写一个 C 应用程序 我有一个类变量 多个线程正在写入该变量 在 C 中 任何可以在编译器 意识到 正在更改的情况下进行修改的内容都需要标记为易失性 对吧 因此 如果我的代码是多线程的 并且一个线程可能写入 var 而另一个线程从中
  • Swift 的标准库和名称冲突

    我知道 Swift 不使用命名空间 但名称是在每个模块中定义的 首先 我不太明白这是如何避免名称冲突的 请随意详细说明 尽管如此 我的主要问题是 假设我想要一个不使用 NSTreeNode 的树结构 所以我创建了自己的类 名为 TreeNo
  • Op 类型未在二进制中注册“SentencepieceEncodeSparse”

    我部署了一个模型 该模型使用 tfhub 模型来使用 docker 进行张量流服务 这是我的模型中包含的 tfhub 模型 https tfhub dev google universal sentence encoder multilin
  • DropboxAPI 入门,未找到类

    我第一次尝试使用 Dropbox API 但在启动应用程序时遇到此错误 Caused by java lang NoClassDefFoundError com dropbox client2 session Session AccessT
  • 异步任务中的异常在 Visual Studio 中被拦截

    我想运行多个任务 其中一些任务可以完成异步 然后等待所有任务完成 由于任务可能会引发异常 因此我想捕获并记录它们 sample code for that static async Task doit int x try Console W
  • 具有条件选择动作的剑道网格列

    这是我得到的 columns Bound t gt t Id Title Template
  • 处理 execvp 的参数数组?

    当我打电话时execvp 例如execvp echo b 其中 b 是命令 a 的参数数组 稍后更改该数组是否会影响之前进行的 execvp 调用 当我尝试调用 execp echo b 时 它最终打印出 null 而不是 b 内部的内容
  • Fetch API:从http响应中获取标题、关键字和正文

    我想知道使用 fetch api 有没有办法在同源发出 XMLHttpRequest 时不发送 cookie https stackoverflow com questions 9028234 is there a way to not s
  • 两指或小指缩放至 osmdroid 中的地图视图

    我需要帮助我正在尝试通过让用户多触摸点 首先是 2 根手指触摸 来缩放地图视图 我知道有 setMultiTouchControls 函数 但这不是我想要做的 我尝试用图片来解释 这比写作更容易 黑色粗体箭头表示手指的移动方向 相反方向也可
  • 如何停止已部署的 docker 堆栈?

    我刚刚完成了初学者 Docker 教程 https github com docker labs blob master beginner chapters votingapp md并想知道如何清理 我使用以下命令部署了一个堆栈和一些不同的
  • Firebase - 在不知道其成员的注册 ID 的情况下删除设备组

    在使用 Firebase 和设备组时 我正在测试令牌 注册 ID 发生更改的情况 例如重新安装应用程序后 但我的逻辑失败了 因为重新安装应用程序后我无法再知道以前存储的令牌 问题是现在我有一个设备组有两个 ghost 我不再知道的注册 ID
  • google +1 按钮向我的网站添加滚动条

    我的网站上有一个 google 1 按钮已经一年多了 一切都运行良好 在过去的几天里 这个按钮开始在我的网站上创建一个水平滚动条 我知道 因为当我删除按钮时 滚动条就会消失 这是我的网站 www kitchen guide co il ht
  • sonarqube 6.6 升级:不可恢复的索引失败

    sonarqube 从 6 5 升级到 6 6 使用 Debian 软件包 后 sonar 无法启动 升级之前我没有更新插件 我只是让标准的 Debian 软件包升级 我正在使用外部数据库 Postgresql 我在 web log 中发现
  • mysql搜索时如何忽略大小写的区别

    mysql搜索时如何忽略大小写的区别 做这样的事情 SELECT user FROM users WHERE UPPER user UPPER moustafa 基本上 您将结果转换为一种大小写 并与也转换为大写的搜索词进行比较 从而有效地
  • 在 C++ 中构造对象的不同方法

    我想使用 C 在堆栈中构造一个对象 你知道这两种调用构造函数的方式 带括号和不带括号 有什么区别吗 a MyClass object b MyClass object 我正在使用 MFC 在为主应用程序构造全局变量时 如果我使用后一种方式