반응형
모듈 시스템
C++17 까지도 여전히 표준으로 들어오지 않았습니다. 허나 비주얼 스튜디오에서 experimental:module 플래그를 활성화해서 사용할 수 있습니다.
표준이 된다면 컴파일이 엄청나게 빨라진다고 합니다. cpp와 h 파일로 나눌 필요가 없어지며, 이것은 컴파일 속도를 높이기 위한 것이었습니다. 마치 Java의 패키지 처럼 동작합니다.
여전히 앞에 시련이 있습니다. cpp와 h가 둘 다 있는 레거시 코드들은 앞으로 어떻게 처리를 해야할까요. 또한, #define을 활용한 코드들이 많이 있는 경우에는 어려움이 있을 수 있습니다.
module Math;
export int Add(int a, int b)
{
return a+b;
}
export int Multiply(int a, int b)
{
return a * b;
}
import Math;
int main()
{
std::cout << Add(1,2) << std::endl;
std::cout << Multiply(3,2) << std::endl;
}
이러한 방식으로 자바와 유사하게 활용할 수 있다고 합니다. 실제로 도입되면, 많은 변화가 예상이 되지만, 컴파일 속도를 개선하고 더욱 명확하게 프로그래밍을 할 수 있을 것으로 보아 기대가 됩니다.
반응형
'SW > C++' 카테고리의 다른 글
C++ : 템플릿 프로그래밍 : 기본 개념, 예제, 활용방법, 주의사항 (0) | 2020.04.20 |
---|---|
C++ : 가변 인자 템플릿 : 장점, 사용법, 예제, 개념 (0) | 2020.04.19 |
C++ : filesystem : 기본 예제, 사용법, 주의 사항 (0) | 2020.04.17 |
C++ : filesystem : 파일 복사, 디렉터리 이동, 바꾸기, 삭제, 목록, 권한 : 예제 (1) | 2020.04.16 |
C++ : filesystem : 라이브러리 개요, 사용법, 예제, 특징 (0) | 2020.04.15 |