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

이펙티브 STL(Effective STL)

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

책소개

이 책이 속한 분야

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

목차

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) 쓰러가기

북로그 리뷰는 본인 인증 후 작성 가능합니다.
책이나 타인에 대해 근거 없이 비방을 하거나 타인의 명예를 훼손할 수 있는 내용은 비공개 처리 될 수 있습니다.
※ 북로그 리뷰 리워드 제공 2021. 4. 1 종료

문장수집 (0) 문장수집 쓰기 나의 독서기록 보기
※구매 후 문장수집 작성 시, 리워드를 제공합니다. 안내

교환/반품/품절안내

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

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

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