내가 STL에 조예가 깊어서 글을 남기는 것이 아니라, Effecitve STL 을 공부하는 사람들이 이 글을 보고, 도움이 되었으면 하는 생각과, 혹시 내가 틀린것이 있다면 지적해 주시지 않을까 란 생각으로 글을 올리는것임을 미리 밝힙니다. - 최익필 저번 26항목에서 각 iterator 간의 변환 과정을 그림(?) 으로 보여 주었었다. const_iterator ↗ ↖ iterator ↖ base() ↘↖base() ↖ reverse_iterator → const_reverse_iterator 다시 정리 하자면, 1. 화살표 방향은 컴파일러에 의해서 암시적으로 바뀐다.(안그런 컴파일러도 있으니 해결방법은 26항목) 2. base() 는 함수이고, 명시적으로 사용자가 호출해야지만, 변환이 가능하다는 것..
stl 검색 결과
내가 STL에 조예가 깊어서 글을 남기는 것이 아니라, Effecitve STL 을 공부하는 사람들이 이 글을 보고, 도움이 되었으면 하는 생각과, 혹시 내가 틀린것이 있다면 지적해 주시지 않을까 란 생각으로 글을 올리는것임을 미리 밝힙니다. - 최익필 26항목 부터 반복자에 대한 이야기를 진행 한다. 반복자란 말을 딱 들으면 뭐지.. 란 생각을 한다. 뭐야 도데체? 반복자라 하면 잘 모르겠고 iterators 라고 하면 아~ 하고 느낌이 팍팍 올 것이다. iterators 에는 iterator ,const_iterator, reverse_iterator. const_reverse_iterator 처럼 4가지 종류의 iterators가 있는데, 왜 4개나 있고, 어떤 관계이며, 변환이 가능한지, 알고리즘..
내가 STL에 조예가 깊어서 글을 남기는 것이 아니라, Effecitve STL 을 공부하는 사람들이 이 글을 보고, 도움이 되었으면 하는 생각과, 혹시 내가 틀린것이 있다면 지적해 주시지 않을까 란 생각으로 글을 올리는것임을 미리 밝힙니다. - 최익필 "대비해 두자" 에서 보면 알수 있듯이, 이번 항목은 해쉬 컨테이너라는게 있다. 이게 무엇이고, 어떻게 선언되어 지며, 어떻게 셋팅 할수 있는지 만.. 요약해서 알려 준다. 나머지 부분에 대해서는 직접 해쉬컨테이너에 대해서 조사하여 .. 익혀야 한다. 그래서 이번 항목을 위해 몇가지 해쉬컨테이너에 대해서 구글링 한것들을 정리해 본다. http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/Database/DataS..
내가 STL에 조예가 깊어서 글을 남기는 것이 아니라, Effecitve STL 을 공부하는 사람들이 이 글을 보고, 도움이 되었으면 하는 생각과, 혹시 내가 틀린것이 있다면 지적해 주시지 않을까 란 생각으로 글을 올리는것임을 미리 밝힙니다. - 최익필 STL 에 있는 map 에 대한 이야기로, 이 두 함수(어찌보면 operator[] 도 함수.. 라 볼수 있다)의 특징을 알아두어 효율적인 코딩을 하자는 내용이다. 그렇다면 왜 이번 항목에선 이 둘의 효율을 주의 하고 선택하자고 했을까? .. 이것에 관련된 사항에 대해서는 링크를 첨부 한다. 2008년 5월경 나는 이런것들의 차이에 대해서 기록해 둔것이 있다. 링크 : http://www.ikpil.com/266 .. 더 자세히 간다면 .. 소스 한번 뜯..
"좋을 때가 있다" 이런 문구가 들어가면, 조금 복잡해 지는 경향이 없지 않아 있다. 왜냐하면, 경우에 따라서 달라지는 상황에 대해서 판단을 내려야 하기 때문이다. 제목을 다시 정리하지만 "연관 컨테이너(Associative Containers)보다 연속 컨테이너(Sequence Containers)의 vector가 더 좋다는 이야기가 아니라, ... vector가 더 좋을 수도 있다"는 이야기로 이번 항목은 시작 되었다. 연관 컨테이너(Associative Containers)는 탐색에 특화된 컨테이너라 할 수 있는데, 이 탐색이란 것은 "C 배우는 알고리즘"에서 나와 있는 비슷한 방법으로 행해지게 된다. 구체적인 내용은 정리 글의 범주에서 벗어 나므로 생략하고, 구글에서 "균형 이진 트리" 라고 구글..
항목 21과 같은 맹락으로 이어진다. 이것 또한 연관 컨테이너(Associative Containers)의 연관을 무너뜨리게 한다. map 과 multimap 도 키를 바꿀수는 있을 꺼 같지만, 여기선 const 이기 때문에 변경을 못하도록 되어 있다.(캐스팅 하면 가능하지만...) 그래서 이 두개의 컨테이너는 삭제 후 삽입 방법으로 변경해야 한다. 하지만 set 이나 multiset 은 값 자체가 키(Key)이기 때문에, 바꾸는 일은 피해야 한다는 것이다. 이것도 키를 바꾸기 위해선 "삭제 후 삽입"을 해야만 한다. 곰곰히 생각하면 난 바꾸지 않을테니까, const 로 Key를 설정할꺼야. 라고 해서 std::set 하게 해도 크게 두가지 이유 때문에 무의미하게 된다. 첫째, 사용자 정의 객체를 담을 ..
최근댓글