
Unsafe Rust
unsafe 블록, raw 포인터 (*const T, *mut T), FFI, unsafe 트레이트, Undefined Behavior (UB), safety 불변 조건
20 면접 질문·
Senior
1Rust에서 unsafe 모드의 슈퍼파워를 활성화하는 키워드는 무엇입니까?
1
Rust에서 unsafe 모드의 슈퍼파워를 활성화하는 키워드는 무엇입니까?
답변
unsafe 키워드는 safe Rust에서 금지된 다섯 가지 기능을 해제합니다: raw 포인터 역참조, unsafe 함수 호출, mutable static 변수 접근, unsafe 트레이트 구현, 그리고 union 필드 접근입니다. 이 블록은 개발자가 memory safety를 보장할 책임을 진다는 것을 컴파일러에 알립니다.
2unsafe 코드는 safe Rust에 비해 몇 가지 추가 기능을 해제하나요?
2
unsafe 코드는 safe Rust에 비해 몇 가지 추가 기능을 해제하나요?
답변
unsafe 모드는 정확히 다섯 가지 기능을 해제합니다: raw pointer 역참조, unsafe 함수나 메서드 호출, 가변 static 변수 접근 또는 수정, unsafe trait 구현, 그리고 union 필드 접근입니다. 이 다섯 가지 연산이 safe Rust와 unsafe Rust의 유일한 차이입니다.
3Rust에서 변수에 대한 immutable raw pointer를 생성하는 올바른 문법은 무엇인가요?
3
Rust에서 변수에 대한 immutable raw pointer를 생성하는 올바른 문법은 무엇인가요?
답변
immutable raw pointer를 생성하는 문법은 let ptr = &x as *const T입니다. *const T 타입은 immutable raw pointer를 나타냅니다. raw pointer 생성은 safe하며, deref만 unsafe 블록이 필요합니다. let ptr: *const T = &x로 암시적 강제 변환을 사용할 수도 있습니다.
4
Rust에서 *const T와 *mut T의 차이점은 무엇인가요?
5
safe Rust에서 raw pointer 생성은 허용되지만 역참조는 허용되지 않는 이유는 무엇인가요?
+17 면접 질문
기타 Rust 면접 주제
Rust 기초
Junior
25개 질문Ownership & Borrowing
Junior
22개 질문Structs & Enums
Junior
20개 질문에러 처리
Junior
18개 질문컬렉션
Junior
20개 질문모듈과 패키지
Junior
18개 질문Traits
Mid-Level
22개 질문Generics
Mid-Level
20개 질문Lifetimes
Mid-Level
20개 질문Iterators & Closures
Mid-Level
22개 질문Smart Pointers
Mid-Level
22개 질문Concurrency Basics
Mid-Level
20개 질문async/await
Mid-Level
22개 질문Testing
Mid-Level
18개 질문Cargo & Ecosystem
Mid-Level
18개 질문Pattern Matching
Mid-Level
18개 질문매크로
Mid-Level
20개 질문Serde와 직렬화
Mid-Level
20개 질문고급 트레잇
Senior
22개 질문고급 lifetime
Senior
20개 질문Type System
Senior
20개 질문Tokio & Async I/O
Senior
22개 질문성능 최적화
Senior
20개 질문Memory Management
Senior
20개 질문Web Frameworks
Senior
22개 질문Database Integration
Senior
20개 질문Rust 디자인 패턴
Senior
20개 질문