Rust

Generics

Generic 함수, struct, enum, trait bounds, where clause, monomorphization

20 면접 질문·
Mid-Level
1

Rust에서 generic 함수를 선언하는 올바른 구문은 무엇입니까?

답변

Rust에서 generic type parameter는 함수 이름 뒤의 angle brackets를 사용해 선언합니다. fn name<T>(param: T) 구문은 T가 사용 시점에 결정되는 type parameter임을 나타냅니다. 그런 다음 컴파일러는 함수를 호출할 때 사용되는 각 구체적인 타입마다 특화된 코드를 생성합니다.

2

타입 T의 필드를 가진 generic struct를 어떻게 선언합니까?

답변

generic struct는 struct 이름 뒤의 angle brackets에 type parameter를 두어 선언합니다. struct Name<T> { field: T } 구문을 사용하면 다양한 타입으로 재사용 가능한 구조체를 만들 수 있습니다. 그런 다음 타입 T는 이 struct와 연관된 필드와 메서드에서 사용할 수 있습니다.

3

Rust에서 monomorphization이란 무엇입니까?

답변

monomorphization은 Rust 컴파일러가 generic과 함께 사용되는 각 구체적인 타입에 대해 특화된 머신 코드를 생성하는 과정입니다. 예를 들어 generic 함수가 i32와 String으로 호출되면, 컴파일러는 그 함수의 서로 다른 두 버전을 만듭니다. 이는 런타임 오버헤드 없이 최적의 성능을 보장합니다.

4

generic 매개변수 T에 trait bound를 추가하려면 어떻게 합니까?

5

impl<T> Struct<T>와 impl Struct<i32> 구문의 차이는 무엇입니까?

+17 면접 질문

다음 면접을 위해 Rust을 마스터하세요

모든 질문, flashcards, 기술 테스트, 코드 리뷰 연습, 면접 시뮬레이터에 접근하세요.

무료로 시작하기