이 포스트 에서 본 것부터 Effective C ++ 라는 책을 읽기 시작했습니다 .
그러나 이제 C ++ 11로 인해 많은 새로운 기능이 있으며 몇 가지 모범 사례가 변경되었으므로 실제로 좋은 아이디어인지 확실하지 않습니다. C ++ 11의 출현으로 Effective C ++에 포함 된 조언이 더 이상 사용되지 않습니까? 그렇다면 어떤 주제를 피해야합니까?
이 포스트 에서 본 것부터 Effective C ++ 라는 책을 읽기 시작했습니다 .
그러나 이제 C ++ 11로 인해 많은 새로운 기능이 있으며 몇 가지 모범 사례가 변경되었으므로 실제로 좋은 아이디어인지 확실하지 않습니다. C ++ 11의 출현으로 Effective C ++에 포함 된 조언이 더 이상 사용되지 않습니까? 그렇다면 어떤 주제를 피해야합니까?
답변:
Scott Meyers 자신이 자신의 블로그에서 이에 대해 말한 내용
유효 C ++의이 C ++ 0x 이전 버전의 정보와 조언이 관련성이 있는지 궁금해 할 수 있습니다. 나는 그것을보고 기쁘게 생각합니다. 놀랍게도 사실입니다. C ++ 0x의 세부 사항에 거의 2 년이 걸렸지 만이 책의 목차를 C ++ 0x를 염두에두고 검토하면서 약간 신음 할 것으로 예상했습니다. 분명히 일부 항목은 부적절합니다. 그러나 내가 찾은 조언은 소리가났다. C ++ 0x 개발자는 const, enum 및 inline을 선호해야합니다.
#defines
(항목 2)? 그들은해야. 예외가 소멸자를 떠나지 못하게해야합니까 (항목 8)? 확실히. 자원을 관리하기 위해 개체를 사용해야합니까? 데이터 멤버를 비공개로 선언 하시겠습니까? 가상 기능의 대안을 고려하십니까? 템플릿에서 매개 변수 독립 코드를 인수로 사용 하시겠습니까? (항목 13, 22, 35 및 44) 예, 예, 예! 필자의 목표는 항상 효과적인 C ++의 목차가이 책의 조언을 요약하는 것이 었으며, 그 요약은 "전통적인"C ++ 개발과 마찬가지로 C ++ 0x 개발에도 적용 할 수 있습니다. C ++ 0x는 더 큰 언어이며 어떤면에서는 다른 언어이지만 "구"C ++를 효과적으로 사용하기위한 핵심 기술도 C ++ 0x를 효과적으로 사용하기위한 핵심입니다.그렇다고이 유효 C ++가 C ++ 0x와 완벽하게 일치한다는 것은 아닙니다. 이 책에서는 C ++ 0x의 새로운 기능에 대해서는 다루지 않으므로 해당 기능을 효과적으로 사용하는 방법에 대한 항목이 없습니다. C ++ 0x 효과적인 C ++은 분명히 작업을 이동하고, 초기화를 균일하게하고, 람다 식을 다루는 데 헌신 한 항목을 가지고 있으며 동시성 API를 효과적으로 사용하는 방법에 대한 전체 장이있을 것입니다. 이러한 책에는 또한 자동 변수, 범위 기반 for 루프, 동급 기본 이니셜 라이저 및 때때로 가변적 템플릿을 사용하는 것과 같은 다른 예가 포함됩니다. 이 책이 C ++ 0x에 대한 지원이 부족한 한, 오류는 커미션이 아니라 누락 된 오류입니다.
업데이트 : 새로운 제목 Effective Modern C ++ 는 2014 년 11 월부터 O'Reilly 및 Amazon (및 Google이 제공 할 수있는 다른 많은 제품) 에서 판매되었습니다 .
예, 확실히 읽을 가치가 있습니다. 있습니다 : 스콧에 작동하는지 새 책 효과적인 C ++ (11) (11) 코드 만 C ++에있는 집중은. 효과적인 C ++는 여전히 매우 관련, 새로운 책으로 대체되지 않습니다. 그것을 읽고, 읽고, 즐기십시오 :)
하나,이 책은 물론 C ++ 03에도 유효합니다.
둘째, Meyers는이 문장을 읽는 시점에 따라 효과적인 C ++ 11을 쓰고 있습니다.
셋째, 일반적으로,이 책의 요점은 여전히 유효합니다. C ++은 여전히 안전보다 속도를 선호하며 Effective C ++의 많은 문제 가이 문제를 해결합니다.
내가 유효하지 않을 것으로 예상 되는 유일한 유형은 "이 작업을 수행하지 말고 대신 수행하십시오"라는 것입니다. "이 작업을 수행하지 마십시오"는 여전히 유효합니다. 그러나 C ++은 몇 가지 문제를 해결했을 것입니다. 특히 C ++ 11에는 Meyers가 독자에게 Boost를 참조하는 많은 기능이 포함되어 있으므로 boost 사용에 대한 권장 사항은 더 이상 사용되지 않습니다.
tr1
믿기 때문에tr1
그가 언급 한 모든 요소가 C ++ 11 표준으로 만들었다 고 .