gpt4 book ai didi

c++ - 构造函数中的空返回

转载 作者:可可西里 更新时间:2023-11-01 16:30:37 25 4
gpt4 key购买 nike

我原以为 Visual Studio 会给我一个错误或者至少是一个警告,但是当我在构造函数中有一个空的 return 时它都没有给我:

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.
...

可以在构造函数中使用 return;。我的理解是,这是允许的,以便程序员可以提前从构造函数返回,而无需弄乱 bool 标志。

关于c++ - 构造函数中的空返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4251652/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com