Я смотрел на некоторый исходный код с открытым исходным кодом, и я заметил, что для некоторых методов вместо использования void для типа возвращаемого значения они использовали ссылку на этот класс.Ссылка на объект vs Тип возврата 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;
}
};
Есть ли какие-либо преимущества использования одного над другим?
Большое спасибо за ответ. Я не знал, что вы можете сделать это на C++. – Xplane
Этот стиль известен как ["метод цепочки"] (http://en.wikipedia.org/wiki/Method_chaining) или ["свободный интерфейс"] (http://martinfowler.com/bliki/FluentInterface.html). –