
책소개
C++11과 C++14를 이용해서, 즉 현대적인 C++을 이용해서 진정으로 훌륭한 소프트웨어를 작성하는 방법을 설명한다. Effective Modern C++은 스콧 마이어스의 이전 책들에서 검증된 지침 기반, 예제 주도적 형식을 따르되, 완전히 새로운 내용을 다룬다.
출판사소개
목차
1장 형식 연역
항목 1: 템플릿 형식 연역 규칙을 숙지하라
항목 2: auto의 형식 연역 규칙을 숙지하라
항목 3: decltype의 작동 방식을 숙지하라
항목 4: 연역된 형식을 파악하는 방법을 알아두라
2장 auto
항목 5: 명시적 형식 선언보다는 auto를 선호하라
항목 6: auto가 원치 않은 형식으로 연역될 때에는 명시적 형식의 초기치를 사용하라
3장 현대적 C++에 적응하기
항목 7: 객체 생성 시 괄호(())와 중괄호({})를 구분하라
항목 8: 0과 NULL보다 nullptr를 선호하라
항목 9: typedef보다 별칭 선언을 선호하라
항목 10: 범위 없는 enum보다 범위 있는 enum을 선호하라
항목 11: 정의되지 않은 비공개 함수보다 삭제된 함수를 선호하라
항목 12: 재정의 함수들을 override로 선언하라
항목 13: iterator보다 const_iterator를 선호하라
항목 14: 예외를 방출하지 않을 함수는 noexcept로 선언하라
항목 15: 가능하면 항상 constexpr을 사용하라
항목 16: const 멤버 함수를 스레드에 안전하게 작성하라
항목 17: 특수 멤버 함수들의 자동 작성 조건을 숙지하라
4장 똑똑한 포인터
항목 18: 소유권 독점 자원의 관리에는 std::unique_ptr를 사용하라
항목 19: 소유권 공유 자원의 관리에는 std::shared_ptr를 사용하라
항목 20: std::shared_ptr처럼 작동하되 대상을 잃을 수도 있는 포인터가 필요하면 std::weak_ptr를 사용하라
항목 21: new를 직접 사용하는 것보다 std::make_unique와 std::make_shared를 선호하라
항목 22: Pimpl 관용구를 사용할 때에는 특수 멤버 함수들을 구현 파일에서 정의하라
5장 오른값 참조, 이동 의미론, 완벽 전달
항목 23: std::move와 std::forward를 숙지하라
항목 24: 보편 참조와 오른값 참조를 구별하라
항목 25: 오른값 참조에는 std::move를, 보편 참조에는 std::forward를 사용하라
항목 26: 보편 참조에 대한 중복적재를 피하라
항목 27: 보편 참조에 대한 중복적재 대신 사용할 수 있는 기법들을 알아두라
항목 28: 참조 축약을 숙지하라
항목 29: 이동 연산이 존재하지 않고, 저렴하지 않고, 적용되지 않는다고 가정하라
항목 30: 완벽 전달이 실패하는 경우들을 잘 알아두라
6장 람다 표현식
항목 31: 기본 갈무리 모드를 피하라
항목 32: 객체를 클로저 안으로 이동하려면 초기화 갈무리를 사용하라
항목 33: std::forward를 통해서 전달할 auto&& 매개변수에는 decltype을 사용하라
항목 34: std::bind보다 람다를 선호하라
7장 동시성 API
항목 35: 스레드 기반 프로그래밍보다 과제 기반 프로그래밍을 선호하라
항목 36: 비동기성이 필수일 때에는 std::launch::async를 지정하라
항목 37: std::thread들을 모든 경로에서 합류 불가능하게 만들어라
항목 38: 스레드 핸들 소멸자들의 다양한 행동 방식을 주의하라
항목 39: 단발성 사건 통신에는 void 미래 객체를 고려하라
항목 40: 동시성에는 std::atomic을 사용하고, volatile은 특별한 메모리에 사용하라
8장 다듬기
항목 41: 이동이 저렴하고 항상 복사되는 복사 가능 매개변수에 대해서는 값 전달을 고려하라
항목 42: 삽입 대신 생성 삽입을 고려하라
배송
- 배송비, 무료배송비는 업체 사정에 따라 달라질 수 있습니다.
- 배송은 결제 확인 후 다음날부터 2~3일 이내에 배송됩니다. (단 도서 산간지역은 1~2일정도 더 소요됩니다.)
- 공휴일은 배송기간에 포함되지 않습니다.
- 주문하신 상품이 여러개인 경우 동일한 업체의 상품만 묶음 배송 가능합니다. (업체 사정에 따라 달라질 수 있습니다.)
- 배송정보는 상단 주문조회나 마이페이지 주문목록에서 가능합니다.
상품 품절
- 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는 이메일과 문자로 안내드립니다.
주문취소/변경
- 주문 상품에 대한 변경사항(품절,가격변동)이 발생하면 전화나 메일을 통해 변경내용을 알려드립니다.
- 주문 상품의 변경/취소/환불은 배송 시작전 마이페이지에서 직접 신청이 가능합니다.
- 주문 상품이 발송된 시점에서는 변경/취소/환불이 모두 불가능합니다.
반품/교환
- 기간 : 배송받으신 후 7일 이내에 가능합니다.
- 방법 : 홈페이지 마이페이지 > 반품/ 교환 신청 및 조회에서 가능합니다.
- 배송비 부담 : 상품에 이상이 있을시에는 무료, 고객의 단순변심 및 착오구매일 경우 상품 반송비용은 고객 부담입니다.
- 포장 개봉 후 재판매가 불가능한 상품은 반품/교환이 불가능합니다.
- 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우, 반품/교환이 불가능합니다.
반품/교환 불가 사유
- 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우 (단지 확인을 위한 포장 훼손은 제외)
- 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
- 복제가 가능한 상품 등의 포장을 훼손한 경우
- 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우
- 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
- 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
- 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에 해당되는 경우
소비자 피해보상 환불 지연에 따른 배상
- 상품의 불량에 의한 반품, 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 준하여 처리합니다.
- 대금 환불 및 환불 지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의 소비자 보호에 관한 법률에 따라 처리합니다.