더북(TheBook)

문자열에 스택을 사용하기 위한 메서드를 추가한 것처럼 상당히 많은 다른 타입에 대해서도 동일한 작업이 이루어질 것이다. 이제는 프레임워크 내에 거의 모든 I/O 작업을 비동기로 수행할 수 있는 기능들이 포함되어 있듯이, 스팬과 관련된 기능들도 필요한 곳이라면 어디서든 사용할 수 있도록 빠르게 확충될 것이라고 생각한다. 더불어 외부 라이브러리 또한 관련 기능들이 빠르게 추가될 것으로 기대한다.

 

 

초기화자 내에서의 stackalloc(C# 7.3)

C# 7.3에는 스택 할당과 관련하여 초기화를 수행할 수 있는 새로운 기능 하나가 추가되었다. 이전 버전에서는 stackalloc을 사용할 때 할당할 크기만을 전달할 수 있었는데, C# 7.3부터는 할당할 공간에 어떤 내용을 채울 것인지 지정할 수 있도록 개선되었다. 이 기능은 포인터와 스팬 두 가지에 대해서 사용할 수 있다.

Span<int> span = stackalloc int[] { 1, 2, 3 };
int* pointer = stackalloc int[] { 4, 5, 6 };

이러한 기능이 공간을 할당하고 수동으로 내용을 채우는 것에 비해 훨씬 효율적이라고 생각하지는 않지만, 코드를 읽기에는 훨씬 낫다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.