C++20 에서 추가된 람다 표현식의 특징은 다음과 같습니다.
- 템플릿 사용 가능
- 평가 되지 않은 표현식 사용 가능
- 캡쳐 하지 않은 표현식에서 디폴트 생성자와 대입 연산자 사용 가능
- 암시적 this 캡쳐 deprecated
- parameter pack 캡쳐 가능
C++20 에서 추가된 람다 표현식의 특징은 다음과 같습니다.
C++20 관련 시리즈입니다. C++20 에 추가된 다양한 문법과 라이브러리를 정리합니다. 본 포스팅에서는 간략한 특징을 소개합니다.
iterator를 원하는 위치로 옮길 수 있는 함수이다. 컨테이너의 iterator를 i번째 위치로 옮기고 싶을 때 사용할 수 있습니다.
#define 매크로 정의시 단순 상수 정의는 다음과 같습니다.
#define PI (3.141592)
매크로를 활용 하여 인라인 함수 형태로 작성 할 때 매개변수를 전달 할 수 있습니다.
#define CIRCLE(x) ((x)(x)(PI))
유닛 테스트는 프로그램의 품질과 안정성을 향상시킬 수 있지만 꽤나 번거로운 작업이고 어느정도의 테스트 케이스를 로직과 pair로 작성해야 하기 때문에 관리 비용이 들지만, 이러한 테스팅 환경을 구축하고 습관화 할 경우 어느날 치명적인 버그를 막아주는 경우가 있습닙니다. C#에서는 nUnit이라는 라이브러리를 사용했었는데, C++ 환경에서 Google Test 사용이 필요하여 관련 리서치 내용을 포스팅합닙니다.
numeric_limits 클래스 템플릿은 템플릿 특수화로 구현되었고, 명시한 타입의 최대값이나 최소값을 질의 할 수 있는 표준화 된 방법을 제공합니다.
(예 : int 유형에 대해 가능한 가장 큰 값은 std :: numeric_limits :: max ())