#define 매크로 정의시 단순 상수 정의는 다음과 같습니다.
#define PI (3.141592)
매크로를 활용 하여 인라인 함수 형태로 작성 할 때 매개변수를 전달 할 수 있습니다.
#define CIRCLE(x) ((x)(x)(PI))
#define 매크로 정의시 단순 상수 정의는 다음과 같습니다.
#define PI (3.141592)
매크로를 활용 하여 인라인 함수 형태로 작성 할 때 매개변수를 전달 할 수 있습니다.
#define CIRCLE(x) ((x)(x)(PI))
유닛 테스트는 프로그램의 품질과 안정성을 향상시킬 수 있지만 꽤나 번거로운 작업이고 어느정도의 테스트 케이스를 로직과 pair로 작성해야 하기 때문에 관리 비용이 들지만, 이러한 테스팅 환경을 구축하고 습관화 할 경우 어느날 치명적인 버그를 막아주는 경우가 있습닙니다. C#에서는 nUnit이라는 라이브러리를 사용했었는데, C++ 환경에서 Google Test 사용이 필요하여 관련 리서치 내용을 포스팅합닙니다.
numeric_limits 클래스 템플릿은 템플릿 특수화로 구현되었고, 명시한 타입의 최대값이나 최소값을 질의 할 수 있는 표준화 된 방법을 제공합니다.
(예 : int 유형에 대해 가능한 가장 큰 값은 std :: numeric_limits :: max ())
5 years a go I’ve showed how to use clock_gettime
to do basic high_resolution profiling. The approach there is very useful, but unfortunately, not cross-platform. It works only on POSIX compliant systems (especially not windows).
Slim Reader Writer Lock은 VS2010부터 지원되는 새로운 쓰레드 동기화 객체입니다.
스마트포인터 shared_ptr의 경우 참조 카운팅이 zero가 되어야 삭제 되는데, 그 시점이 약간 애매 할 수 있어 여러가지 처리를 해 줘야 합니다.
shared_ptr 생성 시점에서 deleter를 전달 할 수 있고 이를 활용하면 스마트 포인터를 더욱 스마트하게 사용 할 수 있습니다.