Rust

Type System

Zero-cost abstractions、newtype pattern、type aliases、phantom types、const generics

20 面接問題·
Senior
1

Rust における zero-cost abstraction とは何ですか?

回答

zero-cost abstraction とは、手書きの同等コードと比べて実行時コストが一切発生しない抽象化です。Rust コンパイラはこれらの抽象化を最適化し、生成されるコードが手書きの低レベルコードと同じくらい効率的になり、追加のオーバーヘッドが発生しないようにします。

2

Rust における newtype pattern の主な利点は何ですか?

回答

newtype pattern は既存の型をラップする新しい独立した型を作成し、compile time での型安全性を提供します。これにより、基盤となる型が同じでも意味が異なる値、たとえば両方とも整数で表されるユーザー ID と製品 ID を混同することを防ぎます。

3

Rustでtype aliasを宣言するにはどうすればよいですか?

回答

type aliasは、typeキーワードに続けてaliasの名前と対象の型を記述して宣言します。例えば、type Kilometers = i32 は i32 のaliasを作成します。newtype patternとは異なり、type aliasは別個の新しい型ではなく、元の型と互換的に使用できる単なる同義語にすぎません。

4

type safetyの観点から、type aliasとnewtypeの違いは何ですか?

5

Rustにおけるphantom typeとは何ですか?

+17 面接問題

次の面接に向けてRustをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める