In C++,
function() = 10;
funktioniert, wenn die Funktion eine Variable per Referenz zurückgibt.
Was sind die Anwendungsfälle dafür?
In C++,
function() = 10;
funktioniert, wenn die Funktion eine Variable per Referenz zurückgibt.
Was sind die Anwendungsfälle dafür?
En Idiom des benannten Parameters ist ein weiterer Anwendungsfall. Betrachten Sie
class Foo
{
public:
Foo(
int lions,
float tigers,
double bears,
std::string zookeeper
);
};
Benutzer dieser Klasse müssen sich die Position der einzelnen Parameter merken
Foo foo( 1, 2.0, 5, "Fred" );
was ohne einen Blick auf die Kopfzeile nicht offensichtlich sein kann. Verglichen mit einer Erstellerklasse wie dieser
class CreateFoo
{
friend class Foo;
public:
CreateFoo();
CreateFoo& lions(int lions) {
_lions = lions;
return *this;
}
CreateFoo& tigers(float tigers) {
_tigers = tigers;
return *this;
}
CreateFoo& bears(double bears) {
_bears = bears;
return *this;
}
CreateFoo& zookeeper(const std::string& zookeeper) {
_zookeeper = zookeeper;
return *this;
}
private:
int _lions;
float _tigers;
double _bears;
std::string _zookeeper;
};
die dann von Clients wie folgt verwendet werden können
Foo foo = CreateFoo().
lions(1).
tigers(2.0).
zookeeper("Fred").
bears(5)
;
unter der Annahme, dass Foo
hat einen Konstruktor, der eine const CreateFoo&
.
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.