본문 바로가기

C++

(3)
C++ if statement with initializer 본 게시글에서는 C++17부터 if문을 이용할 때 사용할 수 있는 문법을 소개한다. 어떤 정수 x의 값을 입력받고 10인지 확인하는 코드를 짠다고 해보자. int x; std::cin >> x; if (x == 10) { std::cout x; x == 10) { std::cout
C++ Structured Binding(구조적 바인딩) C++17부터 지원하는 structured binding이란 어떤 배열, STL 같은 컨테이너에서 멤버들을 쉽게 바인딩할 수 있도록 도와주는 문법이다. 친숙한 std::map을 예시로 바인딩을 해보자. #include #include int main() { std::map mp; for (int i = 1; i < 11; i++) { mp[i] = i * i; } // iterator, basic for for (std::map::iterator it = mp.begin(); it != mp.end(); it++) { std::cout first
C++ 람다 표현식 lambda expression 이 게시글에서는 C++11부터 등장한 람다 표현식을 배운다. C++ lambda의 간략한 개요 함수형 프로그래밍의 패러다임을 따라 C++도 JS나 파이썬처럼 익명 함수를 구현하는 문법으로 도입되었다. C++ lambda 기본 C++ 람다는 다음과 같은 형태를 지니고 있다. [캡처] (매개변수) ->반환형{ 람다의 내용 } (해당 익명 함수를 즉시 호출할 경우 실제 전달하는 인자); 이렇게만 보면 이해가 어려울 수 있으니 다음 예시 코드를 통해 실체를 보도록 하자. #include void print1() { std::cout void{ std::cout void{ // 중괄호 안에는 이렇게 람다 표현식을 호출 했을때의 실행 내용이 들어있다. // 이 코드 같은 경우는 단순히 Hello!를 출력하고 개행을..