내가 STL에 조예가 깊어서 글을 남기는 것이 아니라, Effecitve STL 을 공부하는 사람들이 이 글을 보고, 도움이 되었으면 하는 생각과, 혹시 내가 틀린것이 있다면 지적해 주시지 않을까 란 생각으로 글을 올리는것임을 미리 밝힙니다. - 최익필 처음 나는 쓰기전용 코드라 하길래, 무슨 말인고 했더니, 코드를 쓰기가 편한데로 쓴 코드를 쓰기 전용(write-only) 코드라고 한다. 즉 이런 코드... vector v; int x, y; ... v.erase( remove_if( find_if( v.rbegin(), v.rend(), bind2nd( greater_equal(), y ) ).base(), v.end(), bind2nd( less(), x ) ), v.end() ); 쓰기 전용 코드..
책 정리 검색 결과
내가 STL에 조예가 깊어서 글을 남기는 것이 아니라, Effecitve STL 을 공부하는 사람들이 이 글을 보고, 도움이 되었으면 하는 생각과, 혹시 내가 틀린것이 있다면 지적해 주시지 않을까 란 생각으로 글을 올리는것임을 미리 밝힙니다. - 최익필 이유는 3가지로 요약된다. 첫째, 함수의 포인터를 넘길때, 인라인화가 되지 않아 컴파일러 최적화가 되지 않는다. 이것은 CPU가 함수를 호출할 때의 원리를 알고 있어야 이해가 쉽게 될것이다. 인라인화와 그냥 함수 포인터를 이용한 호출은 CPU 명령 횟수의 차이를 보인다. 즉 함수 포인터로 함수 호출하는것은 그 만큼 많은 명령을 더 내려야 한다는 것이다. 둘째, 일반 함수를 이용할 경우 컴파일이 되지 않을 수 있다. STL 플랫폼이 const 멤버 함수(s..
내가 STL에 조예가 깊어서 글을 남기는 것이 아니라, Effecitve STL 을 공부하는 사람들이 이 글을 보고, 도움이 되었으면 하는 생각과, 혹시 내가 틀린것이 있다면 지적해 주시지 않을까 란 생각으로 글을 올리는것임을 미리 밝힙니다. - 최익필 왜냐하면, 각각의 역활이 다르기 때문에 구현이 다르다. 이 구현이 다르다는 의미는 속도, 부하가 다르다는 의미이다. 그러므로 제대로 파악하자는 취지에서 쓰여진 항목이다. 정리하자면 http://turboc.borlandforum.com/impboard/impboard.dll?action=read&db=cpp_tip&no=25 질문 (해야 할 작업들) 사용할 알고리듬 사용할 멤버 함수 정렬되지 않은 범위 정렬된 범위 set 또는 map multiset 또는..
내가 STL에 조예가 깊어서 글을 남기는 것이 아니라, Effecitve STL 을 공부하는 사람들이 이 글을 보고, 도움이 되었으면 하는 생각과, 혹시 내가 틀린것이 있다면 지적해 주시지 않을까 란 생각으로 글을 올리는것임을 미리 밝힙니다. - 최익필 항목 43에서 말했던 STL 제작자보다 더 좋게 만들 수 없다면 알고리즘은 더 좋은 성능을 보여줄것이라는 이야기와 일맥상통 한다. 왜냐하면 STL 제작자 중 컨테이너 제작자 보다야 컨테이너에 대해서 더 자세히 알겠는가? 이름 짓기관례상 알고리즘과 동일한 기능을 하는 멤버 함수는 동일한 이름을 갖는다. 그런데 굳이 동일한 기능을 하는데, 멤버 함수로 만들 필요가 있을까? .. 더 뛰어난 성능을 보이기 때문에, 멤버 함수로 만들어 놓은 것이다. map.fin..
내가 STL에 조예가 깊어서 글을 남기는 것이 아니라, Effecitve STL 을 공부하는 사람들이 이 글을 보고, 도움이 되었으면 하는 생각과, 혹시 내가 틀린것이 있다면 지적해 주시지 않을까 란 생각으로 글을 올리는것임을 미리 밝힙니다. - 최익필 루프는 for, while, do~while 이 있다. 하지만 이것만 보면, 이게 어떤 역활을 하는 루프인지 코드를 봐야지만 가능해진다. .. 뭐 .. 알고리즘도 그런 경우가 있긴 하지만 말이다. ㅋ 더 좋다는 이야기로 주제가 흘러 가는데. 그 이유 3가지를 든다. 첫째, 루프보다 알고리즘이 더 빠르다. 물론 알고리즘 내부에도 루프가 있다.(내부 보면 안다) 하지만 STL 제작자보다 사용자가 더 깊게 알기는 힘든면이 많다. 그렇기 때문에 STL 제작자가 ..
내가 STL에 조예가 깊어서 글을 남기는 것이 아니라, Effecitve STL 을 공부하는 사람들이 이 글을 보고, 도움이 되었으면 하는 생각과, 혹시 내가 틀린것이 있다면 지적해 주시지 않을까 란 생각으로 글을 올리는것임을 미리 밝힙니다. - 최익필 모든 프로그래머가 변수명 a 는 test 용도로만 쓴다고 알고 있다고 가정해보자. 그렇다면 모든 프로그래머는 a를 테스트 용도로만 사용함으로써 코드의 가독성이 올라 갈 것이다. 이처럼 많은 프로그래머들이 암묵적으로 몇가지 알고 있다고 믿는 상황이 있따. operator == 두개의 값이 상등성으로 비교한다고 믿는다. 복사생성자는 모든 값을 동일하게 복사된다고 믿는다. 객체의 주소를 받아내면 포인터가 나온다고 믿는다. 그리고... less는 operator..
최근댓글