내가 STL에 조예가 깊어서 글을 남기는 것이 아니라, Effecitve STL 을 공부하는 사람들이 이 글을 보고, 도움이 되었으면 하는 생각과, 혹시 내가 틀린것이 있다면 지적해 주시지 않을까 란 생각으로 글을 올리는것임을 미리 밝힙니다. - 최익필 이번 항목은 두 알고리즘의 사용 방법을 알아보자는 취지로 이야기 된 것 같다. 그러므로 나는 두 알고리즘의 사용 법을 기준으로 설명을 하도록 한다. 두 알고리즘 전부 algorithm 안에 들어 있다. 각각 어떻게 사용 하는지, 그 소스코드를 보자. 1. mismatch #include #include #include int main( void ) { int a[10]; std::vector v(10); for( int i = 0; i < 10; i++ ..
책 정리 검색 결과
내가 STL에 조예가 깊어서 글을 남기는 것이 아니라, Effecitve STL 을 공부하는 사람들이 이 글을 보고, 도움이 되었으면 하는 생각과, 혹시 내가 틀린것이 있다면 지적해 주시지 않을까 란 생각으로 글을 올리는것임을 미리 밝힙니다. - 최익필 이번 한목은 Container 내부가 정렬되어 있어야지만 정상적으로 동작하는 알고리즘이 있기 때문에, 어떤 알고리즘인지 알아보자 라는 취지에서 필자가 글을 쓴 것으로 보인다. 정렬된 데이터를 넘겨야지만 정상적으로 동작하는 알고리즘 리스트에 대해서 알아보자. 이진 탐색을 사용하는 알고리즘 binary_search lower_bound upper_bound equal_range 집합(set) 조작 알고리즘 set_union set_intersection se..
내가 STL에 조예가 깊어서 글을 남기는 것이 아니라, Effecitve STL 을 공부하는 사람들이 이 글을 보고, 도움이 되었으면 하는 생각과, 혹시 내가 틀린것이 있다면 지적해 주시지 않을까 란 생각으로 글을 올리는것임을 미리 밝힙니다. - 최익필 이번 항목은 포인터를 컨테이너에 담았을 때, remove-erase 합성문으로 지워도 메모리 누수가 발생할 수 있다는 지적을 해준다. 당연하겠지만.. 포인터를 담는 변수를 지운다고 해서, 포인터의 실제값이 사라지는게 아니기 때문이다. 누누히 말해오는 것이기 때문에 길게 이야기 할것 없이 결론만 말한다. 포인터를 담는 컨테이너의 경우, 1. 직접 delete 시켜주고 날리거나, 2. 스마트 포인터를 담아주자.
내가 STL에 조예가 깊어서 글을 남기는 것이 아니라, Effecitve STL 을 공부하는 사람들이 이 글을 보고, 도움이 되었으면 하는 생각과, 혹시 내가 틀린것이 있다면 지적해 주시지 않을까 란 생각으로 글을 올리는것임을 미리 밝힙니다. - 최익필 STL 알고리즘 중 동작이 제일 혼동스러운 함수를 손꼽으라면 단연 remove가 뽑힌다. 왜냐하면 함수명이 ... 햇갈리기 때문이다. remove 알고리즘을 호출하여 컨테이너 내부의 값들을 지울려고 한다해도, 컨테이너 내부의 값들은 지워지지 않는다. 왜냐하면 remove 함수는 이터레이터를 인자로 받기 때문에, 어떤 컨테이너에서 값을 지워야 하는지 알 수 없기 때문이다. 그런고로, remove 류의 모든 함수들(unique, remove_if)은 값을 지..
내가 STL에 조예가 깊어서 글을 남기는 것이 아니라, Effecitve STL 을 공부하는 사람들이 이 글을 보고, 도움이 되었으면 하는 생각과, 혹시 내가 틀린것이 있다면 지적해 주시지 않을까 란 생각으로 글을 올리는것임을 미리 밝힙니다. - 최익필 이번 항목에서는 정렬을 하고자 할때, 이용되는 sort 라는 함수들의 효율을 정확히 파악해 두어 사용하라는 것이다. sort 알고리즘은 sort, stable_sort, partial_sort, nth_element, partition가 있고, 어떻게 사용하면 좋은지 정리해보자. Sequence Container 이거나 배열이라는 조건 하에서 1. 전체 정렬을 할 때, sort 나 stable_sort 2. 상위 n개의 요소만 순서에 맞추어 뽑아내고자 할..
최근댓글