1. C++ 20
•
Visual Studio의 C++20 환경에서 표준 라이브러리 모듈을 import하는 방법으로 MS에선 헤더 유닛(header units)을 권장
1.1. 프로젝트 생성
•
프로젝트 이름: Cpp20
1.2. 예제 코드 생성
•
main.cpp
import <iostream>;
int main()
{
std::cout << "Hello World!" << std::endl;
return 0;
}
C++
복사
•
HeaderUnits.h
#pragma once
import <iostream>;
C++
복사
1.3. 언어 표준 설정
•
프로젝트 속성 > 일반 > C++ 언어 표준: ISO C++20 표준 (/std:c++20)
1.4. 헤더 단위 컴파일 설정
•
HeaderUnits.h 속성 > 일반 > 항목 형식: C/C++ 컴파일러
•
설정 후 적용 클릭
•
C/C++ > 고급 > 컴파일 옵션: C++ 헤더 단위로 컴파일(/exportHeader )
1.5. 설정 확인
•
f5를 눌렀을 때 Hello World! 출력 → iostream import 성공
•
다른 표준 라이브러리 모듈이 필요하면 해당 모듈을 HeaderUnits.h에 추가
2. C++ 23
•
C++ 23에선 표준 라이브러리를 import할 수 있는 named 모듈(std, std.compat) 제공
2.1. 프로젝트 생성
•
프로젝트 이름: Cpp23
2.2. 예제 코드 생성
•
main.cpp
import std;
int main()
{
std::cout << "Hello World!" << std::endl;
return 0;
}
C++
복사
2.3. 언어 표준 설정
•
프로젝트 속성 > 일반 > C++ 언어 표준: 미리 보기 - 최신 C++ 초안의 기능(/std:c++latest)
2.4. 표준 라이브러리 모듈 빌드 설정
•
C/C++ > 언어 > ISO C++ 23 표준 라이브러리 모듈 빌드: 예
2.5. 설정 확인
•
f5를 눌렀을 때 Hello World! 출력 → std import 성공
•
STL 라이브러리의 std namespace 내에 있는 모든 함수 사용 가능
•
import std.compat → std namespace 내의 함수 뿐만 아니라 C 표준 라이브러리의 전역 namespace 함수도 사용 가능
3. 참고 자료
•
◦
named 모듈 import가 헤더 유닛보다 빠르다
◦
named 모듈은 내부 구현과 매크로를 외부로 노출하지 않는다
◦
C++ 23 사용할 수 있다면 named 모듈 사용 권장
•
전문가를 위한 C++ 5판