Rust

Ownership & Borrowing

Reguły ownership, move semantics, borrowing (&T, &mut T), lifetimes, wiszące referencje

22 pytań z rozmów·
Junior
1

Czym jest ownership w Rust?

Odpowiedź

Ownership to fundamentalny system w Rust, który gwarantuje bezpieczeństwo pamięci bez garbage collectora. Każda wartość ma jednego właściciela, a pamięć jest automatycznie zwalniana, gdy właściciel opuszcza scope. System ten zapobiega data races oraz błędom use-after-free na etapie kompilacji.

2

Ilu właścicieli może mieć wartość w Rust?

Odpowiedź

W Rust wartość może mieć tylko jednego właściciela w danym momencie. To pierwsza reguła ownership. Gdy ownership zostaje przeniesiony (move), poprzedni właściciel nie ma już dostępu do wartości. Reguła ta gwarantuje, że nigdy dwie części kodu nie mogą modyfikować ani zwalniać tej samej pamięci.

3

Co dzieje się, gdy zmienna wychodzi poza scope w Rust?

Odpowiedź

Gdy zmienna wychodzi poza scope, Rust automatycznie wywołuje funkcję drop, która zwalnia pamięć. To zachowanie jest deterministyczne i przewidywalne, w przeciwieństwie do garbage collectorów, które zwalniają pamięć w sposób niedeterministyczny. Ten wzorzec nazywa się RAII (Resource Acquisition Is Initialization).

4

Czym jest move w Rust?

5

Które typy implementują trait Copy w Rust?

+19 pytań z rozmów

Opanuj Rust na następną rozmowę

Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.

Zacznij za darmo