이번 항목은 표준 라이브러리를 비판하기 위해서 있는 항목 같기도 하다. 비판의 방향은 "표준이 표준이 아닐 수 있는 것은 표준 라이브러리의 구현을 엄격히 정해 두지 않아서 이다" 로 잡고 이야기 하겠다. 이 이야기의 대표로 함수 std::mem_fun 를 들어 본다. 1. std::mem_fun은 무엇인가? 어떨 때 사용 하는가? 사례를 제시하라. 쉽게 말해서 멤버 함수를 함수 객체로 만들어 주는 binder 이고, ... 알고리즘에 쓸 때 많이 쓰인다. .. 링크로 대체 한다. http://groups.google.com/group/han.comp.lang.c++/msg/f74a487c6b6cdf64 http://yesarang.tistory.com/101 2. 다음 코드의 주석으로 생략된 부분에 올바..
c++ 검색 결과
이번 항목은 "만약" 이라는 전제와 "상상" 이라는 생각을 통해, 다중 상속을 "자연스럽게 에뮬레이션" 해 보자. 라는 취지로 이야기 한다. 다음 예제코드를 보자 #include #include class A { public: virtual ~A(); std::string Name(); private: virtual std::string DoName(); }; class B1 : virtual public A { std::string DoName(); }; class B2 : virtual public A { std::string DoName(); }; A::~A() { } std::string A::Name() { return DoName(); } std::string A::DoName() { retu..
항목 20에서 문제 해결에 있어 auto_ptr 을 사용하는게 도움이 될까? 란 것인데, 20항목의 해결 코드에서 봤듯이 그런것이다. 그러니 문제를 나열 하자. 문제 : 1 20-2 에 비해서 다음 코드가 더 나은 점은 무엇이며, 아직 남아 있는 예외 안전성이 있다면 설명하라 /// 예제 21-1 // // 헤더 파일 void f( std::auto_ptr a, std::auto_ptr b ); // 구현 파일 f( std::auto_ptr( new T1 ), std::auto_ptr( new T2 ) ); 문제 : 2 문제 1에 있는 예외 안전성을 잡을 수 있고, 다음과 같이 호출 될 수 있는 auto_ptr_new 를 작성하라 /// 예제 21-2 // // 헤더 파일 void f( std::auto..
내가 C++에 조예가 깊어서 글을 남기는 것이 아니라, Effecitve C++ 을 공부하는 사람들이 이 글을 보고, 도움이 되었으면 하는 생각과, 혹시 내가 틀린것이 있다면 지적해 주시지 않을까 란 생각으로 글을 올리는것임을 미리 밝힙니다. - 최익필 ... 한마디로 요약된다. 힘들게 만들어야 하는 대부분은 표준 라이브러리에 있고, 최신 표준 라이브러리 후보들은 TR1에 있기 때문이다. 쭉.. 읽기만 하면 된다. 이것만은 잊지 말자! 1. TR1은 단순한 명세서일뿐, TR1 을 구할 수 있는 자료처 중 한곳은 boost 이다.
내가 C++에 조예가 깊어서 글을 남기는 것이 아니라, Effecitve C++ 을 공부하는 사람들이 이 글을 보고, 도움이 되었으면 하는 생각과, 혹시 내가 틀린것이 있다면 지적해 주시지 않을까 란 생각으로 글을 올리는것임을 미리 밝힙니다. - 최익필 이번 53항목의 주제는 "컴파일러 경고를 쉽게 생각하지 마라. 믿는 도끼에 발등 찍힌다." 로 요약된다. 즉, 경고에 대해서 사용자가 빠삭하게 알고 있다 하더라도, 경우에 따라서 그 경고가 오작동을 불러 일으키게 된다는 말이다. 스콧마이어스님이 말씀하시는것은 컴파일 경고레벨단계를 높여서 모든 경고를 잡는 방향으로 코딩하는게 좋다고 말씀 주신다. ... 말이야 맞는 말이지만... 이건 보통 성가신게 아니다.^^; 컴파일러가 알려주는 에러에 대해서 적응하다보..
최근댓글