내가 C++에 조예가 깊어서 글을 남기는 것이 아니라, Effecitve C++ 을 공부하는 사람들이 이 글을 보고, 도움이 되었으면 하는 생각과, 혹시 내가 틀린것이 있다면 지적해 주시지 않을까 란 생각으로 글을 올리는것임을 미리 밝힙니다. - 최익필 이번 항목은 "클래스 멤버 함수가 호환되는 모든 타입을 받아 들이기 위해선 템플릿을 사용하면 편하다" 를 주제로 이야기 한다. 템플릿의 특성은 "여러 타입의 변수에 있어 하나의 코드로 대응 시킬 수 있다" 이다. 이것은 "모든 타입"에 대해서 동일한 코드로 대응 시킬수 있다는 뜻인데.. 하필이면 "호환되는 모든 타입" 이다. 호환되는 모든 타입이라.. 무슨 뜻일까? 예제코드 1, 호환성이 이해가 될 것이다. // ikpil.com or ikpil.tist..
2008/07 검색 결과
내가 C++에 조예가 깊어서 글을 남기는 것이 아니라, Effecitve C++ 을 공부하는 사람들이 이 글을 보고, 도움이 되었으면 하는 생각과, 혹시 내가 틀린것이 있다면 지적해 주시지 않을까 란 생각으로 글을 올리는것임을 미리 밝힙니다. - 최익필 이번 항목의 주제는 "템플릿의 최대의 적 코드 비대화를 막는 원리" 에 대해서 이다. 이게 무슨 말인지 모르겠다면, 아래 예저 코드를 통하여, 실제로 컴파일 용량을 확인해 보도록 하자. 예제 1 : 코드 비대화를 보여주는 템플릿 아용 사례, MSVC2005 Debug Mode : 88KB // ikpil.com or ikpil.tistory.com #include // 템플릿의 타입 매개변수와 비타입매개변수 template //
내가 C++에 조예가 깊어서 글을 남기는 것이 아니라, Effecitve C++ 을 공부하는 사람들이 이 글을 보고, 도움이 되었으면 하는 생각과, 혹시 내가 틀린것이 있다면 지적해 주시지 않을까 란 생각으로 글을 올리는것임을 미리 밝힙니다. - 최익필 이번 항목의 주제는 "템플릿 기반 클래스를 상속받은 파생 클래스는 '컴파일 타임 상속 체계'가 끊긴다. 그러므로 템플릿 기반 클래스에 접근 하는 방법을 알아 두어야 한다." 이다. 이 컴파일 타임 상속 체계는 컴파일 타임에 컴파일러가 구문해석 체계를 뜻한다. 구문해석 체계에서 잘못 된 것이라면, 컴파일이 되지 않는다. 템플릿 기반 클래스 상속은 상속에 따른 구문해석이 끊기어, 해석 실패가 된다. 못 믿겠다면 예제 코드를 보자. // ikpil.com or..
내가 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 는 무..
최근댓글