초기화되지 않은 변수 선언
초기화되지 않은 변수 선언 (Uninitialized variable declaration)
Crystal은 초기화되지 않은 변수 선언을 허용해요:
x = uninitialized Int32
x # => some random value, garbage, unreliable
이건 unsafe한 코드로, 거의 항상 저수준 코드에서 성능 손실 없이 초기화되지 않은 StaticArray 버퍼를 선언할 때 쓰입니다:
buffer = uninitialized UInt8[256]
이 버퍼는 스택에 할당되므로 힙 할당을 피할 수 있어요.
uninitialized 키워드 뒤의 타입 표기는 타입 문법(type grammar)을 따릅니다.
출처: Crystal 공식 문서
더 알아보기 (Learn more)
- unsafe 코드 — 안전하지 않다고 표시된 코드
- StaticArray — 고정 크기 배열 API