비주얼 스튜디오 2019 v16.10과 v16.11 프리뷰 1 버전이 2021년 5월 25일 릴리즈 되었다고 발표했습니다. 이번 포스트에서는 2019 v16.10 GA(Generally Available) 버전에 어떤 기능들이 추가되었는지 소개하는 시간을 가져 보도록 하겠습니다.
- 비주얼 스튜디오 2019 다운로드 [여기]
- 비주얼 스튜디오 개발자 커뮤니티 [여기]
- 비주얼 스튜디오 최신 릴리스 버전으로 업데이트 방법 [여기]
- 비주얼 스튜디오 2019 버전 16.10 릴리스 정보 [여기]
C++
- 이제 C++20의 모든 기능들을 비주얼 스튜디오에서 사용 할 수 있습니다.
- /std:c++latest 스위치를 활성화 시키면 되며, 활성화 방법은 [여기]를 참조하세요.
- 아직 몇몇 기능들은 수정 될 가능성이 있어 /std:c++latest에서 /std:c++20로 스위치 명칭을 공식적으로 변경하지는 않았습니다.
- 텍스트 포멧을 위한 <format>이 추가 되었습니다.
<format>은 iostream이나 printf와 비슷하지만 보다 더 빠르고 안전한 fmtlib 기반의 텍스트 포멧팅 라이브러리 입니다.
auto version = 20;
std::format(“STL is now C++{} feature-complete!”, version);
- <chrono>에 calendar, time-zone, 날짜 구문 분석이 추가 되었습니다.
Calendar와 Time zone은 기존 <chrono>라이브러리의 확장입니다. 이 기능들은 날짜와 시간을 type-safe 와 동시에 time-zone에 맞추어 다룰수 있게 해줍니다.(참고 : Calendar and Time-Zones in C++20: Calendar Dates)
#include <chrono>
constexpr auto yearMonthDay{ std::chrono::year(1940)/ std::chrono::month(6)/ std::chrono::day(26) };
std::cout << yearMonthDay << " ";
/* OUTPUT
1940-06-26
*/
- 위 기능 외에도 Module, Ranges, Concepts의 인텔리센스가 지원 됩니다.
- /openmp:llvm 스위치 활성화로 LLVM OpenMP 런타임이 이제 x86 과 ARM64에서도 사용 할수 있습니다.
- 아직 C++11, C++14 환경이라면 /await:strict 스위치를 활성화 시킴으로써 C++20 코루틴을 사용 할 수 있습니다.
- 코루틴 디버깅 시각화가 개선 되었습니다. std::coroutine_handle<T>에서 오리지널 코루틴 함수의 이름과 시그너쳐, 현재 중단점을 보여 줄 수 있습니다.
- CMakePresets에 대한 지원이 추가 되었습니다.