wrapping이라고 하고요. 기본 기능을 감싸는 새로운 기능을 만드는 방벙으로 사용하고, C++뿐만아니라 코드를 작성하는 영역에서는 굉장히 많이 쓰는 방식입니다. 굳이 패턴으로 부르지는 않는데, 그 이유는 굉장히 다양한 사용법이 있기 때문이죠. _core 함수를 만들고, wrapper1(){ _core(1); ) wrapper2(){ _core(2); ) 와 같이 기본값을 대체하는 방식으로 사용할 수 도 있고, 단골손님 말씀처럼 dll등의 외부 라이브러리를 하위 호환성에 맞게 파라미터나 결과값을 가공하기 위한 방식으로도 사용됩니다.
dll이나 API를 쫌 더 사용이 쉽고 수월하게 한번 더 dll등으로 만드는거죠.
cout을 바로 쓰는게 아니고
myCout 같은 함수를 만들어서 그 내에서 다시 cout 을 하게 하고
코드를 작성할때는 항상 myCout을 쓰는겁니다
이렇개 작성하면 나중에 만약
cout할때 앞에 현재 시간을 모두다 찍고 싶다하면
모든 cout 호출 부분을 손대지 않고 myCout만 손대면 되니 간편하죠.
cout대신 printf같이 다른 출력함수를 쓰도록 고쳐야한다 할때도 손쉽게 고칠수 있고요
이때 myCout을 래핑함수라고 합니다
from CV