1. C++ 20

  • Visual Studio의 C++20 환경에서 표준 라이브러리 모듈을 import하는 방법으로 MS에선 헤더 유닛(header units)을 권장

1.1. 프로젝트 생성

  • 프로젝트 이름: Cpp20

    스크린샷_2024-07-03_150327.png

1.2. 예제 코드 생성

  • main.cpp

    1
    2
    3
    4
    5
    6
    7
    8
    
    import <iostream>;
    
    int main()
    {
    		std::cout << "Hello World!" << std::endl;
    
    		return 0;
    }
    
  • HeaderUnits.h

    1
    2
    3
    
    #pragma once
    
    import <iostream>;
    

1.3. 언어 표준 설정

  • 프로젝트 속성 > 일반 > C++ 언어 표준: ISO C++20 표준 (/std:c++20)

    스크린샷_2024-07-03_151537.png

1.4. 헤더 단위 컴파일 설정

  • HeaderUnits.h 속성 > 일반 > 항목 형식: C/C++ 컴파일러

  • 설정 후 적용 클릭

    스크린샷_2024-07-03_152202.png

  • C/C++ > 고급 > 컴파일 옵션: C++ 헤더 단위로 컴파일(/exportHeader )

    스크린샷_2024-07-03_152616.png

1.5. 설정 확인

  • f5를 눌렀을 때 Hello World! 출력 → iostream import 성공
  • 다른 표준 라이브러리 모듈이 필요하면 해당 모듈을 HeaderUnits.h에 추가

2. C++ 23

  • C++ 23에선 표준 라이브러리를 import할 수 있는 named 모듈(std, std.compat) 제공

2.1. 프로젝트 생성

  • 프로젝트 이름: Cpp23

    스크린샷_2024-07-03_155412.png

2.2. 예제 코드 생성

  • main.cpp

    1
    2
    3
    4
    5
    6
    7
    8
    
    import std;
    
    int main()
    {
    		std::cout << "Hello World!" << std::endl;
    
    		return 0;
    }
    

2.3. 언어 표준 설정

  • 프로젝트 속성 > 일반 > C++ 언어 표준: 미리 보기 - 최신 C++ 초안의 기능(/std:c++latest)

    스크린샷_2024-07-03_160307.png

2.4. 표준 라이브러리 모듈 빌드 설정

  • C/C++ > 언어 > ISO C++ 23 표준 라이브러리 모듈 빌드: 예

    스크린샷_2024-07-03_160734.png

2.5. 설정 확인

  • f5를 눌렀을 때 Hello World! 출력 → std import 성공
  • STL 라이브러리의 std namespace 내에 있는 모든 함수 사용 가능
  • import std.compat → std namespace 내의 함수 뿐만 아니라 C 표준 라이브러리의 전역 namespace 함수도 사용 가능

3. 참고 자료