Rust

Gelişmiş Trait'ler

Associated type'lar ve generic'ler, GATs, trait object'ler, dyn anahtar kelimesi, object safety, vtable'lar

22 mülakat soruları·
Senior
1

Bir trait'te associated type ile generic parametre arasındaki temel fark nedir?

Cevap

Associated type, tip başına yalnızca bir trait implementasyonuna izin verirken, generic parametre birden fazla implementasyona izin verir. Associated type ile tip, implementasyonun kendisi tarafından belirlenir; bu da tip çıkarımını basitleştirir ve her kullanımda tipin belirtilmesini önler.

2

Rust'ta bir trait object oluşturmak için hangi anahtar kelime kullanılır?

Cevap

Rust'ta bir trait object oluşturmak için dyn anahtar kelimesi kullanılır. Bu, metot dispatch'inin çalışma zamanında bir vtable aracılığıyla dinamik olarak gerçekleşeceğini belirtir; derleme zamanında çözülen generic'lerdeki statik dispatch'in aksine.

3

Trait object'ler bağlamında vtable nedir?

Cevap

vtable (virtual table), somut bir tip için trait metot implementasyonlarına işaret eden işaretçilerden oluşan bir tablodur. Trait object'lerin dinamik dispatch'i için kullanılır ve somut tipi derleme zamanında bilmeden çalışma zamanında doğru metodun çağrılmasını sağlar.

4

Bir trait'in object-safe olması için hangi koşulu sağlaması gerekir?

5

Clone trait'i neden object-safe değildir?

+19 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