Stavo guardando un codice sorgente open source e ho notato che per alcuni metodi, piuttosto che usare void per un tipo restituito, avevano usato un riferimento a quella classe.Object reference vs Void tipo di ritorno per un metodo
Esempio:
class Object
{
private:
float m_x;
public:
Object();
Object& setX(float x)
{
m_x = x;
return *this;
}
};
Normalmente, avrei scritto la stessa funzione come questa:
class Object
{
private:
float m_x;
public:
Object();
void setX(float x)
{
m_x = x;
}
};
C'è qualche vantaggio di utilizzare uno sopra l'altro?
La ringrazio molto per la risposta. Non mi rendevo conto che potevi farlo in C++. – Xplane
Questo stile è noto come "metodo di concatenamento" (http://en.wikipedia.org/wiki/Method_chaining) o ["interfaccia fluente"] (http://martinfowler.com/bliki/FluentInterface.html). –