{ 현재의 STL 검색 알고리즘에는 순차 검색과, 이진 검색 밖에 없는데, 순차 검색은 값들이 정렬되어 있지 않은 상태일 때 많이 쓰이고, 이진 검색은 정렬된 데이터에서 많이 사용 한다. 순차 검색으로는 find/find_if, count/count_if 가 있으며, 이진 검색으로는 lower_bound, upper_bound, equal_range 또는 binary_search 가 있다. 각각 검색하면 자세히 나오므로 여기서 생략한다. }
책 정리/C++ Coding Standards : C++ 코딩의 정석 검색 결과
{ STL에서 전체의 요소에 특정 작업을 하고 싶을 때, 루프로 for문을 많이 사용한다. 이것을 알기에 좀더 편하게 사용 할 수 있는 알고리즘인 for_each가 있다. for_each는 루프를 대신해서 사용 할수 있으며, 보다 독립적인 구조를 유지 할 수 있게 해 준다. 그래서인지 for_each 를 사용했던 사람은 for 문보다 for_each를 더 많이 사용 한다. for_each를 사용 할 때는 함수 객체를 붙여 줄 수 있는데, 간단한 것이라면 boost 의 Lambda 를 사용하면 더 편해진다. 무슨 말이 필요 할까, 그냥 내가 만들어본 예제코드를 보자. #include #include #include #include // ikpil.com int main( void ) { //using na..
{ 검증된 STL은 여러개가 있다.(sgi 밖에 모르지만 나는...) 기본적으로 VC2003 이상이면 내장된 STL은 좋은 편이고, g++ 은 모르겠으나, 더 좋으면 좋았지 나쁘진 않을 것이다. boost 의 STL 쪽도 굉장히 괜찮으니, 그것을 써도 될 것이다. STL 을 사용함에 있어 몇가지 주의해야 할 것이 있는데, 반복자 : iterator 의 사용에서 많이 발생하므로, 표준문서나 C+ Standard Library 책을 보면 자세히 알아 두는게 좋을 것이라고 생각 된다. 참고로 반복자가 이상해 질것 같은 STL 함수들은 전부 반복자를 벹어내니 그것을 사용하면 문제는 없다. 부수적으로 STL이 나쁘거나 좋다고 하지만, 용도에 맞게 쓰면 독도 명약이고 명약이라도 나쁘게 쓰면 독이라는 말이 있듯이, ..
최근댓글