Was bedeutet das kaufmännische Und in einem Rust-Typ?

8

Ich habe diesen Code in der Rust-Dokumentation gesehen:

%Vor%

Was bedeutet & in &self ?

    
user3522940 09.08.2015, 20:40
quelle

2 Antworten

22

Das bedeutet, dass Sie eine Referenz an das Objekt übergeben, anstatt das Objekt selbst zu verschieben. Es ist wichtig, dies zu unterscheiden, denn wenn Ihre Funktion wie folgt aussieht:

%Vor%

und Sie haben versucht, dann mit der Variablen aufzurufen, nachdem Sie eine Fehlermeldung erhalten haben

%Vor%

: Wenn Sie & nicht angeben, verschiebt rost den Wert in die Funktion, und Ihre ursprüngliche Bindung hat keine Eigentumsrechte mehr. schau dir dieses minimale Beispiel an, das ich erstellt habe ( Spielplatzversion ):

%Vor%

Schalten Sie nun something so um, dass vor eat aufgerufen wird. Da something nur eine Referenz akzeptiert, hat g immer noch Besitzrechte und Sie können weitermachen. eat hingegen verschiebt g und Sie können g nicht mehr verwenden.

    
Syntactic Fructose 09.08.2015, 20:47
quelle
2

Die Antwort ist im Buch : Besitz / Kreditaufnahme ist eine der Schlüsselmerkmale von Rost.

Versuchen Sie, das Buch zu lesen, es ist wirklich die Zeit wert, die Sie dafür ausgeben.

    
tafia 11.08.2015 12:01
quelle

Tags und Links