Rust

Просунуті trait'и

Associated type проти generic, GATs, trait object, ключове слово dyn, object safety, vtable

22 питань зі співбесід·
Senior
1

Яка основна різниця між associated type і generic-параметром у trait?

Відповідь

Associated type дозволяє лише одну реалізацію trait на тип, тоді як generic-параметр дозволяє кілька реалізацій. З associated type тип визначається самою реалізацією, що спрощує виведення типів і дозволяє не вказувати тип при кожному використанні.

2

Яке ключове слово використовується для створення trait object у Rust?

Відповідь

Ключове слово dyn використовується для створення trait object у Rust. Воно вказує, що диспетчеризація методів відбуватиметься динамічно під час виконання через vtable, на відміну від статичної диспетчеризації generic, яка вирішується під час компіляції.

3

Що таке vtable у контексті trait object?

Відповідь

vtable (virtual table) — це таблиця вказівників на реалізації методів trait для конкретного типу. Вона використовується для динамічної диспетчеризації trait object, дозволяючи викликати правильний метод під час виконання, не знаючи конкретного типу під час компіляції.

4

Яку умову має задовольняти trait, щоб бути object-safe?

5

Чому trait Clone не є object-safe?

+19 питань зі співбесід

Опануй Rust для наступної співбесіди

Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.

Почни безкоштовно