c – 构造函数中的空返回

c – 构造函数中的空返回,第1张

概述我预计Visual Studio给我一个错误,至少是一个警告,但是当我在构造函数中有一个空的返回时,我没有给我: MyObject::MyObject(){ if (/*some condition*/) { //SomeCode return; } // continue with other code} 到目前为止,我在有限 我预计Visual Studio给我一个错误,至少是一个警告,但是当我在构造函数中有一个空的返回时,我没有给我:
MyObject::MyObject(){    if (/*some condition*/)    {        //SomeCode        return;    }    // continue with other code}

到目前为止,我在有限的经验中没有看到这样的用法,所以我的问题是在构造函数中是否可以返回?

这更像是一个好奇的问题,因为我明白这是很容易的代码,所以你永远不需要返回到那里,虽然我有一个实例,这将是非常有用的,但在使用它之前,我想看看是否是被禁止的(可能是标准的,或者一般来说,不是一个好主意).

解决方法 标准说:

12.1 Constructors

A return statement in the body of a
constructor shall not specify a return
value. The address of a constructor
shall not be taken.

可以回来在构造函数中.我的理解是,这是允许的,以便程序员可以从构造函数提前返回,而不需要使用布尔标志来混乱.

总结

以上是内存溢出为你收集整理的c – 构造函数中的空返回全部内容,希望文章能够帮你解决c – 构造函数中的空返回所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1251217.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存