gpt4 book ai didi

c++ - 返回参数对象的引用

转载 作者:搜寻专家 更新时间:2023-10-30 23:55:41 24 4
gpt4 key购买 nike

我不确定这是否正确,尽管我认为它应该是正确的。

std::string &MyClass::MyFunc(std::string &buffer, int nValue)
{
... do something to buffer ...

return buffer;
}

当我返回对传入对象的引用时,我假设这是有效的,因为生命周期在父范围内。或者可能是编译器返回了对某些内部状态的引用?

我想使用它的原因是,我不需要在函数内部分配对象,但仍然可以在嵌套函数调用中使用该对象。

即:

std::string v;
int value;

doSomething(MyFunc(v, value));

最佳答案

完全没问题。

事实上,它也是重载类外流运算符、赋值运算符、递增/递减等时所做的事情。

std::ostream& operator<<(std::ostream&, T const&)
{
//...
}

关于c++ - 返回参数对象的引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30890166/

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