최근 오픈소스 분석 중에 람다라는 것을 접하게 되어 글을 쓴다. 우선 본 글은 http://itguru.tistory.com/196 (Programmin IT 블로그)https://www.youtube.com/watch?v=HDWB64VS1MY&t=550s (포프님 영상)https://www.youtube.com/watch?v=11h4v-YeLZI (홍정모님 영상) 를 보고 종합적인 감상(?)을 정리한 것이고 틀린내용이 있을 수 있음을 미리 밝힌다. 람다란? 람다란 쉽게는 이름이 없는 함수라고 이해하면된다.딱 한번만 쓰이는 함수를 따로 정의하는 것 보다 더 효율적으로 사용할 수 있는 방법으로 코드 상에 람다를 쓰고 실행하게되면 메모리상에 임시적으로 존재하는 클로저 객체로 생성된다. 람다의 구성은 다음과 ..
헤더가드는 헤더파일을 중복해서 포함시키는 경우를 예방하기 위해서 사용한다. 헤더파일을 중복으로 선언하면 같은 함수가 중복으로 선언되는 것과 같기 때문에 컴파일 에러가 나게된다. #pragma once 헤더파일을 생성하면 위 문구가 자동으로 포함되는데 이것이 헤더가드 이다. 위 문구가 있으면 헤더파일을 한번만 include하게 되고 이는 #ifndef example.h#define example.hint example(int a, int b){//examplereturn a+b;} #endif 위와 같은 효과를 가진다. 복잡하게 쓸 것 없이 #pragma once를 쓰면 될 것 같다. 하지만 구형 컴파일러에서는 지원하지 않는다고 한다. 그때는 두번째 예시를 사용하면 된다.