프로그래밍 언어/C++

[게임 프로그래머 입문 올인원] STL Algorithms : 기본 알고리즘(76강)

순정법사 2024.03.27

A. STL Algorithms

1. 찾기

a.  find

특정 숫자가 있는지 찾는 오래된 방법

 

알고리즘을 추가하고 사용

 

이게 더 최신 방법

 

➡ 성능상 동일하지만 읽기 더 쉽다

 

💙 namespace

🌟 이름이 안겹치도록 나만의 이름을 만들어서 모든 결과물을 넣는 방법

여기서 나오는 std

 

 

이렇게 ::으로 내부 함수를 사용가능

 

b.  find_if

오래된 방법

 

대부분의 순회하는 코드는 비슷하고 안 내용물만 조금 바뀜

 

함수처럼 동작하는 스트럭트를 생성

 

새로운 방식으로 나온다

 

이게 전체 코드

 

 

2. 카운팅하기

a. count_if

클래식

 

 

b. 나머지 함수들

비슷한 결로 이 함수들도 많이 사용

 

 

3. 모두 접근하기

a.for_each 

전체를 대상으로 할때 자주 사용

 

클래식

 

 

곱셈 뿐만 아니라 모든것에 대해 실행해야 하는 코드일 때 주로 사용한다 

 

 

4. 제거하기

a. remove_if

클래식 버전, 위처럼 erase는 조심히 써야한다

 

뉴버전, 조심히 사용해야 한다

 

remove_if는 남겨야하는 아이들을 앞으로 빼고 (짝수인애들)

나머지 데이터를 삭제하지 않고 뒤로 둔다

 

➡ 반환값은 iterator로 반환되는데 삭제되는 데이터부터 남겨줌

 

그래서 끝까지 삭제해줘야함

 

🧡 람다의 필요성

위 코드들처럼 계속 struct를 생성하고 만들어주면 귀찮아짐
따라서 람다를 사용하면 위와같은 일이 없어진다!!

 

 

 


출처 : https://www.inflearn.com/course/%EA%B2%8C%EC%9E%84-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8-%EC%9E%85%EB%AC%B8-%EC%98%AC%EC%9D%B8%EC%9B%90-rookiss#curriculum

 

[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버 -

어디부터 시작할지 막막한 게임 프로그래밍 입문자를 위한 All-In-One 커리큘럼입니다. C++, 자료구조/알고리즘, STL, 게임 수학, Windows API, 게임 서버 입문으로 이어지는 알찬 커리큘럼으로 게임 프

www.inflearn.com