Rust

Unsafe Rust

Unsafe bloklar, raw pointer'lar (*const T, *mut T), FFI, unsafe trait'ler, Undefined Behavior (UB), safety değişmezleri

20 mülakat soruları·
Senior
1

Rust'ta unsafe modunun süper güçlerini hangi anahtar kelime etkinleştirir?

Cevap

unsafe anahtar kelimesi, safe Rust'ta yasak olan beş yeteneğin kilidini açar: raw pointer'ları dereference etmek, unsafe fonksiyonları çağırmak, mutable static değişkenlere erişmek, unsafe trait'leri implemente etmek ve union alanlarına erişmek. Bu blok, geliştiricinin memory safety'yi garanti etme sorumluluğunu üstlendiğini derleyiciye bildirir.

2

unsafe kod, safe Rust'a kıyasla kaç ek yetenek açar?

Cevap

unsafe modu tam olarak beş yetenek açar: raw pointer'ların dereference edilmesi, unsafe fonksiyon veya metotların çağrılması, değiştirilebilir static değişkenlere erişilmesi veya değiştirilmesi, unsafe trait'lerin implemente edilmesi ve union alanlarına erişilmesi. Bu beş işlem, safe ve unsafe Rust arasındaki tek farktır.

3

Rust'ta bir değişkene immutable bir raw pointer oluşturmak için doğru sözdizimi nedir?

Cevap

immutable bir raw pointer oluşturmanın sözdizimi let ptr = &x as *const T şeklindedir. *const T tipi immutable bir raw pointer'ı temsil eder. raw pointer oluşturmak safe'tir, yalnızca deref bir unsafe blok gerektirir. let ptr: *const T = &x ile örtük coercion da kullanılabilir.

4

Rust'ta *const T ile *mut T arasındaki fark nedir?

5

raw pointer oluşturmak safe Rust'ta neden izinliyken, onları dereference etmek izinli değildir?

+17 mülakat soruları

Bir sonraki mülakatın için Rust'de uzmanlaş

Tüm sorulara, flashcards'a, teknik testlere, code review alıştırmalarına ve mülakat simülatörlerine eriş.

Ücretsiz başla