이 포스트의 목적 일반화 함수자(함수 객체)를 만들어 보는 것이다. 일반화 함수자(함수 객체)를 이해하는 것 이다. 이 포스트의 준비물 Firefox 4.0 beta6 Winamp v.5.572 (x86) 참조 서적 주 : Modern C++ Design p.175 ~ p.176 부1 : Effective STL p.245~ 부2 : C++ Standard Libaray 튜토리얼 레퍼런스 p.345~ 참조 링크 http://yesarang.tistory.com/57 - 함수 객체 1부 http://yesarang.tistory.com/59 - 함수 객체 2부 http://yesarang.tistory.com/61 - 함수 객체 3부 내용 왜 제목이 일반화 함수자(함수 객체)와 Command 패턴인가 하면..
stl 검색 결과
클래스 템플릿이란 무엇인가? 함수 템플릿 처럼, 클래스도 여러개의 데이터형으로 바뀔 수 있는 것을 말한다. 이러한 클래스 템플릿은 컨테이너류에 가장 많이 쓰이며, 대표적인 것으로는 std::vector 가 있겠다. 클래스 템플릿을 어떻게 선언하는가? template class Stack { //... }; 위에 처럼 선언할 수 있으며, typename 대신 class 를 사용 할 수 있다. 여기서 T는 멤버 함수나 멤버 변수를 선언 할 때 사용 된다. 즉, 다음과 같이 사용 될 수 있다. #include template class Stack { public: Stack(); void push(T const & ) ; void pop(); T top() const; private: std::vector e..
{ 검증된 STL은 여러개가 있다.(sgi 밖에 모르지만 나는...) 기본적으로 VC2003 이상이면 내장된 STL은 좋은 편이고, g++ 은 모르겠으나, 더 좋으면 좋았지 나쁘진 않을 것이다. boost 의 STL 쪽도 굉장히 괜찮으니, 그것을 써도 될 것이다. STL 을 사용함에 있어 몇가지 주의해야 할 것이 있는데, 반복자 : iterator 의 사용에서 많이 발생하므로, 표준문서나 C+ Standard Library 책을 보면 자세히 알아 두는게 좋을 것이라고 생각 된다. 참고로 반복자가 이상해 질것 같은 STL 함수들은 전부 반복자를 벹어내니 그것을 사용하면 문제는 없다. 부수적으로 STL이 나쁘거나 좋다고 하지만, 용도에 맞게 쓰면 독도 명약이고 명약이라도 나쁘게 쓰면 독이라는 말이 있듯이, ..
내가 STL에 조예가 깊어서 글을 남기는 것이 아니라, Effecitve STL 을 공부하는 사람들이 이 글을 보고, 도움이 되었으면 하는 생각과, 혹시 내가 틀린것이 있다면 지적해 주시지 않을까 란 생각으로 글을 올리는것임을 미리 밝힙니다. - 최익필 이제부터 알고리즘(Algorithm)에 대해서 효율적인 사용 방법에 대해서 이야기 한다. STL 에 있어 알고리즘은 .. Containers 만큼이나 중요하다. 기본 제공되는것만도 100가지가 남지만, 이중 제일 많이 쓰이는 부분과 좋은 알고리즘(Algorithm)이지만 소개받지 못했던 부분에 대해서 이야기 한다고 하니, 눈 딱 크게 뜨고, 봐야 할 것같다. 이번 항목의 주제는 "알고리즘을 이용하여 데이터를 넣을 때, 컨테이너의 공간을 크게 잡고 넣는게 ..
내가 STL에 조예가 깊어서 글을 남기는 것이 아니라, Effecitve STL 을 공부하는 사람들이 이 글을 보고, 도움이 되었으면 하는 생각과, 혹시 내가 틀린것이 있다면 지적해 주시지 않을까 란 생각으로 글을 올리는것임을 미리 밝힙니다. - 최익필 이번 주제는 istream_iterator의 사용보다 istreambuf_iterator의 사용이 더 좋을 수가 있다. 는 것이다. 이유는 istream_iterator 가 operator>>를 이용하기 때문이다. operator>>는 서식화 입력(formatted input)을 수행 한다. 쉽게 생각해서, 자질구레한 뒷처리를 다 해준다. 하지만 istreambuf_iterator는 stream 자체의 버퍼를 직접 건드려서 문자들을 바로 읽는다. (s.r..
내가 STL에 조예가 깊어서 글을 남기는 것이 아니라, Effecitve STL 을 공부하는 사람들이 이 글을 보고, 도움이 되었으면 하는 생각과, 혹시 내가 틀린것이 있다면 지적해 주시지 않을까 란 생각으로 글을 올리는것임을 미리 밝힙니다. - 최익필 우리말이 자주 어렵다고 생각한다. 글을 쓸 때, 문맥상 이상하게 이어지는 경우가 많기 때문이다. 그래서 "A는 B이다" 식으로 이야기를 하려고 한다. 이번 주제는 reverse_iterator.base() 가 어떻게 동작하는지에 대한 이야기이다. 왜냐하면 insert() 나 erase()로 reverse_iterator 를 사용할 수 없어, iterator 로 변환하는데 base() 함수를 사용 하기 때문이다. base()로 가리킨 iterator 는 무..
최근댓글