본문내용 바로가기
무료배송 소득공제

이펙티브 STL(Effective STL)

Scott Meyers 지음 | 곽용재 옮김 | 정보문화사 | 2006년 03월 29일 출간
이펙티브 STL(Effective STL)
  • 정가 : 18,000원
    판매가 : 16,200 [10%↓ 1,800원 할인]
  • 통합포인트 :
    [기본적립] 900원 적립 [5% 적립] [추가적립] 5만원 이상 구매 시 2천원 추가적립 안내 [회원혜택] 실버등급 이상, 3만원 이상 구매 시 2~4% 추가적립 안내
  • 추가혜택 : 포인트 안내 도서소득공제 안내 추가혜택 더보기
  • 배송비 : 무료 배송비 안내
  • 도서상태 : 품절
상품상세정보
ISBN 9788956743110(8956743118)
쪽수 359쪽
크기 B5 판형알림

책소개

이 책이 속한 분야

C++ 표준 템플릿 라이브러리 활용법. 이 책에서는 STL을 효과적으로 사용하는 방법을 알려주고 있다. 표준 STL 컨테이너, 비표준 STL 컨테이너, 그리고 비STL 컨테이너의 선택에 대한 조언과 STL과 그것을 사용하는 프로그램의 효율을 극대화시킬 수 있는 테크닉, 반복자, 함수 객체, 할당자의 동작 원리와, 각각을 가지고 작업할 때 해서는 안 될 일들에 대한 내용을 상세하게 설명하고 있다.

저자소개

저자 : Scott Meyers

스캇 마이어스(Scott Meyers)는 C++ 소프트웨어 개발 분야에 있어서 전 세계적으로 잘 알려진 권위자 중 한 명이다. 공전의 베스트 셀러인 Effective C++와 More Effective C++의 저자인 그는 C++ Report의 칼럼니스트였으며, C/C++ Users Journal과 Dr. Dobb's Journal 등의 유수의 프로그래밍 잡지의 단골 기고자임과 동시에 전 세계의 의뢰인들에게 컨설팅을 해주고 있다. 또한 마이어스는 현재 NumeriX LLC 사와 InfoCruiser Inc.의 자문 위원회의 일원으로 활동하고 있으며, 브라운 대학(Brown University)에서 받은 전산학 박사 학위(Ph. D. of Computer Science)를 가지고 있다.

목차

Chapter 1 효과적인 컨테이너(Container) 요리법

항목 1 : 적재적소에 알맞은 컨테이너를 사용하자

항목 2 : "컨테이너에 독립적인(container-independent) 코드"라는 환상을 조심하자

항목 3 : 복사(Copy)는 컨테이너 안의 객체에 맞게 비용은 최소화하며, 동작은 정확하게 하자

항목 4 : size()의 결과를 0과 비교할 생각이라면 차라리 empty를 호출하자

항목 5 : 단일 요소를 단위로 동작하는 멤버 함수보다 요소의 범위를 단위로 동작하는 멤버 함수가 더 낫다

항목 6 : C++ 컴파일러의 어이없는 분석 결과를 조심하자

항목 7 : new로 생성한 포인터의 컨테이너를 사용할 때에는 컨테이너가 소멸되기 전에 포인터를 delete하는 일을 잊지 말자

항목 8 : auto_ptr의 컨테이너는 절대로 만들지 말자

항목 9 : 데이터를 삭제할 때에도 조심스럽게 선택할 것이 많다

항목 10 : 할당자(allocator)의 일반적인 사항과 제약 사항에 대해 잘 알아두자

항목 11 : 커스텀 할당자를 제대로 사용하는 방법을 이해하자

항목 12 : STL 컨테이너가 쓰레드 안전성에 대한 기대는 현실에 맞추어 가지자

Chapter 2 vector와 string


항목 13 : 동적으로 할당한 배열보다는 vector와 string이 낫다

항목 14 : reserve는 필요 없이 메모리가 재할당되는 것을 막아 준다

항목 15 : 잊지 말자! string은 여러 가지 방식으로 구현되어 있다는 사실을...

항목 16 : 기존의 C API에 vector와 string을 넘기는 방법을 알아두자

항목 17 : 쓸데없이 남은 용량은 "바꿔치기(swap) 묘수"를 써서 없애 버리자

항목 18 : vector 보기를 돌같이 하자



Chapter 3 STL 연관 컨테이너(Associative Containers)



항목 19 : 상등 관계(equality)와 동등 관계(equivalence)의 차이를 파악하자

항목 20 : 포인터를 저장하는 연관 컨테이너에 대해서는 적합한 비교(비교 함수자) 타입을 정해주자

항목 21 : 연관 컨테이너용 비교 함수는 같은 값에 대해 false를 반환해야 한다

항목 22 : set와 multiset에 저장된 데이터 요소에 대해 키(key)를 바꾸는 일은 피하자

항목 23 : 연관 컨테이너 대신에 정렬된 vector를 쓰는 것이 좋을 때가 있다

항목 24 : map::operator[]나 map::insert는 효율 문제에 주의하여 선택하자

항목 25 : 현재는 표준이 아니지만, 해쉬 컨테이너에 대해 충분히 대비해 두자



Chapter 4 반복자(Iterators)



항목 26 : const_iterator나 reverse_iterator, const_reverse_iterator도 좋지만 역시 쓸만한 것은 iterator이다

항목 27 : const_iterator를 iterator로 바꾸는 데에는 distance와 advance를 사용하자

항목 28 : reverse_iterator에 대응되는 기점 반복자(base iterator)를 사용하는 방법을 정확하게 이해하자

항목 29 : 문자 단위의 입력에는 istreambuf_iterator의 사용도 적절하다



Chapter 5 알고리즘(Algorithms)



항목 30 : 알고리즘의 데이터 기록 범위(destimation range)는 충분히 크게 잡자

항목 31 : 정렬시의 선택 사항들을 제대로 파악해 놓자

항목 32 : 요소를 정말로 제거하고자 한다면 remove 류의 알고리즘에는 꼭 erase를 붙여 사용하자

항목 33 : remove와 비슷한 알고리즘을 포인터의 컨테이너에 적용할 때에는 각별히 조심하자

항목 34 : 정렬된 범위에 대해 동작하는 알고리즘이 어떤 것들인지 파악해 두자

항목 35 : 대소문자를 구분하지 않는 문자열 비교는 mismatch 아니면 lexicographical_compare를 써서 간단히 구현할 수 있다

항목 36 : copy_if를 적절히 구현해 사용하자

항목 37 : 범위 내의 데이터 값을 요약하거나 더하는 데에는 accumulate나 for_each를 사용하자



Chapter 6 함수자, 함수 객체, 함수, 기타 등등



항목 38 : 함수자 클래스는 값으로 전달되도록(pass-by-value) 설계하자

항목 39 : 술어 구문은 순수 함수로 만들자

항목 40 : 함수자 클래스는 어댑터 적용이 가능하게(adaptable) 만들자

항목 41 : ptr_fun, mem_fun, mem_fun_ref의 존재에는 분명한 이유가 있다

항목 42 : less는 operator<의 의미임을 꼭 알아두자



Chapter 7 STL 프로그래밍을 더 재미있게 해주는 팁 모음



항목 43 : 어설프게 손으로 작성한 루프보다는 알고리즘이 더 낫다

항목 44 : 같은 이름을 가진 것이 있다면 일반 알고리즘 함수보다 멤버 함수가 더 낫다

항목 45 : count, find, binary_search, lower_bound, upper_bound, 그리고 equal_range를 제대로 파악해 두자

항목 46 : 알고리즘의 매개 변수로는 함수 대신 함수 객체가 괜찮다

항목 47 : 쓰기 전용(write-only) 코드는 만들지 말자

항목 48 : 용도에 맞는 헤더를 항상 #include하자

항목 49 : STL에 관련된 컴파일러 진단 메시지를 해석하는 능력을 가지자

항목 50 : STL 관련 웹 사이트와 친구하자


부록 A : 로케일(Locale), 그리고 대소문자를 구분하는 문자열 비교법
부록 B : 마이크로소프트의 STL 플랫폼에 대한 첨언(添言)

출판사 서평

Effective STL에서 다루어진 내용의 하이라이트는 다음과 같다.

표준 STL 컨테이너(vector와 list 등), 비표준 STL 컨테이너(hash_set과 hash_map 등), 그리고 비STL 컨테이너(bitset 등)의 선택에 대한 조언

STL과 그것을 사용하는 프로그램의 효율을 극대화시킬 수 있는 테크닉

반복자(iterator), 함수 객체(function object), 할당자(allocator)의 동작 원리와, 각... 더보기

Klover 리뷰 (0)

북로그 리뷰 (0) 쓰러가기

도서 구매 후 리뷰를 작성하시면
결제 90일 이내 300원, 발송 후 5일 이내 400원, 이 상품의 첫 리뷰 500원의 포인트를 드립니다.

포인트는 작성 후 다음 날 적립되며, 도서 발송 전 작성 시에는 발송 후 익일에 적립됩니다.
북로그 리뷰는 본인인증을 거친 회원만 작성 가능합니다.
(※ 외서/eBook/음반/DVD/GIFT 및 잡지 상품 제외) 안내
  • 해당도서의 리뷰가 없습니다.

문장수집 (0) 문장수집 쓰기 나의 독서기록 보기
※구매도서의 문장수집을 기록하면 통합포인트 적립 안내

교환/반품/품절안내

※ 상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

교환/반품/품절안내
반품/교환방법 마이룸 > 주문관리 > 주문/배송내역 > 주문조회 > 반품/교환신청 ,
[1:1상담>반품/교환/환불] 또는 고객센터 (1544-1900)

※ 오픈마켓, 해외배송주문, 기프트 주문시 [1:1상담>반품/교환/환불]
    또는 고객센터 (1544-1900)
반품/교환가능 기간 변심반품의 경우 수령 후 7일 이내,
상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
반품/교환비용 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
반품/교환 불가 사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등
  • 복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에
    해당되는 경우
(1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품으로 단순변심 및 착오로 인한 취소/교환/반품 시 ‘해외주문 반품/취소 수수료’ 고객 부담 (해외주문 반품/취소 수수료 : ①양서-판매정가의 12%, ②일서-판매정가의 7%를 적용)
상품 품절 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는
이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은
    소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의
    소비자 보호에 관한 법률에 따라 처리함

바로가기

  • 우측 확장형 배너 2
  • 우측 확장형 배너 2

최근 본 상품