/ The Blog of Jinho Ko / Computer science / Programming / C++ / Effective C++

·

1 min read

0. Introduction

By Jinho Ko

이 책의 Item 들은 규칙이 아니며, 가장 중요시해야 할 것은 그 guideline이 만들어진 논리적 rationale를 이해하는 것이 중요하다.

  • C++의 공식 버전
    • C++98, 03, 11, 14이며, 11부터가 modern cpp라고 볼 수 있음
  • C++11
    • move semantics가 처음 도입
    • rvalue인지 lvalue인지 쉽게 파악하려면, 그 주소를 취할 수 있는지와 없는지 여부를 보면 됨. (있을 시 lvalue, 없을 시 rvalue)
    • 함수 파라미터로 올 때, 주로 rvalue의 복사본(항상 copy를 의미하는 것이 아님)은 move되며 lvalue의 복사본은 copy됨.
  • 잘 설계된 함수는 exception safety를 보장하며, strong guarantee는 exception이 발생해도 program state가 변하지 않음을 보장하는 보장이다
  • 함수 객체는 operator()멤버를 가지는 객체를 뜻한다
  • lambda를 통해 만들어진 객체를 closure라고 부른다
  • 어떤 기능들은 더 최신 기능들에 의해 deprecate되곤 하는데, 그 예시가 std::auto_ptr이고, std::unique_ptr이 일을 더 잘 해낸다
last modified June 2, 2024
comments powered by Disqus

© Copyright 2024. Jinho Ko. All rights reserved. Last updated: June 02, 2024.