gpt4 book ai didi

c++ - 方法的对象引用与 Void 返回类型

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

我在查看一些开源代码时注意到,对于某些方法,他们没有使用 void 作为返回类型,而是使用了对该类的引用。

例子:

class Object
{
private:
float m_x;
public:
Object();
Object& setX(float x)
{
m_x = x;
return *this;
}
};

通常,我会像这样编写相同的函数:

class Object
{
private:
float m_x;
public:
Object();
void setX(float x)
{
m_x = x;
}
};

使用一个比另一个有什么优势吗?

最佳答案

是的,返回引用有一些优势。返回引用时,您可以继续处理返回的引用并将多个函数调用链接在一起。例如,如果也有一个 setY 函数,您可以这样做:

object.setX(5).setY(10);

返回一个引用并没有真正的缺点,但可以带来一些好处。它可用于创建流畅的接口(interface),解决 C++ 中缺少命名参数的问题(如果需要),以及其他事情。

相关阅读:

关于c++ - 方法的对象引用与 Void 返回类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17644714/

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