相关疑难解决方法(0)

从返回引用的函数提前返回的最佳方法

让我们说我们有一个形式的功能:

const SomeObject& SomeScope::ReturnOurObject()
{
    if( ! SomeCondition )
    {
        // return early
        return  ;
    }

    return ourObject;
}
Run Code Online (Sandbox Code Playgroud)

显然,上面的代码有一个问题,如果条件失败,那么我们就如何从这个函数返回一个问题.我的问题的关键是处理这种情况的最佳方法是什么?

c++ function pass-by-reference

8
推荐指数
6
解决办法
1058
查看次数

关于在C++中返回引用的函数的问题

可以从函数返回对局部变量的引用吗?通过本地我的意思是变量将在函数内创建(在堆栈上,即不使用new),并且其范围仅在该函数内.当我搜索这个时,我得到了相互矛盾的答案.1)说这种用法是正确的,但2)与之相矛盾.

1)http://functionx.com/cpp/examples/returnreference.htm
2)http://www.cprogramming.com/tutorial/references.html(参考和安全部分下)

哪一个是对的?

我的另一个问题是,如果1)是正确的,那么以下是相同的目的.

i)int&a = func();
ii)int a = func(); 其中func()返回对int的引用(该函数中的局部变量).

在上述两种情况下,都没有复制涉及的返回值.我想防止复制返回值,因为返回值可能很大.

先感谢您.

Raghava.

c++ reference

7
推荐指数
3
解决办法
2849
查看次数

标签 统计

c++ ×2

function ×1

pass-by-reference ×1

reference ×1