본문 바로가기

효과적으로4

Chapter 3 자원 관리 2018/03/28 - [프로그래밍/Effective C++] - Chapter 2 생성자, 소멸자 및 대입 연산자 Chapter 3 자원 관리 프로그래밍 분야에서 자원(resource)이란, 사용을 일단 마치고 난 후에 시스템에 돌려주어야 하는 모든 것을 일컫는다. 가장 중요한 것은 "가져와서 썼으면 해제해야, 즉 놓아 주어야 한다" 항목 13: 자원 관리에는 객체가 그만! 특정 함수로 얻어낸 자원이 항상 해제되도록 만드는 방법은, 자원을 객체에 넣고 그 자원 해제를 소멸자가 맡도록 하며, 그 소멸자는 실행 제어가 함수를 떠날 때 호출되도록 만드는 것이다. 소프트웨어 개발에 쓰이는 상당수의 자원이 힙에서 동적으로 할당되고, 하나의 블록(block)혹은 함수 안에서만 쓰이는 경우가 잣기 때문에 그 블록 .. 2018. 4. 11.
Chapter 2 생성자, 소멸자 및 대입 연산자 2018/03/19 - [프로그래밍/Effective C++] - Chapter 1 C++에 왔으면 C++의 법을 따릅시다 Chapter 2 생성자, 소멸자 및 대입 연산자 C++ 클래스에 한 개 이상 꼭 들어 있는 것들이 생성자와 소멸자, 대입 연산자이다. 생성자: 새로운 객체를 메모리에 만드는 데 필요한 과정을 제어하고 객체의 초기화를 맡는 함수소멸자: 객체를 없앰과 동시에 그 객체가 메모리에서 적절히 사라질 수 있도록 하는 과정을 제어하는 함수대입 연산자: 기존의 객체에 다른 객체의 값을 줄 때 사용하는 함수 클래스를 제대로 쓰려면 이들이 우선 우뚝 서 있어야 함은 분명하고도 중요한 요구사항이다. 항목 5: C++가 은근슬쩍 만들어 호출해 버리는 함수들에 촉각을 세우자 C++의 복사 생성자(copy.. 2018. 3. 28.
Chapter 1 C++에 왔으면 C++의 법을 따릅시다 Chapter 1 C++에 왔으면 C++의 법을 따릅시다'가장' 근본적인 것들을 다루고 있는 단원 항목 1: C++를 언어들의 연합체로 바로보는 안목은 필수 초창기의 C++는 단순히 C 언어에 객체 지향 기능 몇 가지가 결합된 형태였다. 오늘날의 C++는 다중패러다임 프로그래밍 언어(multiparadigm programming)라고 불립니다. 절차적(procedural) 프로그래밍을 기본으로 하여 객체 지향(object oriented), 함수식(functional), 일반화(generic) 프로그래밍을 포함하며 메타프로그래밍(metaprogramming) 개념까지 지원하고 있다. C++를 잘 이해하는 방법C++를 단일 언어로 바라보는 눈을 넓혀, 상관관계가 있는 여러 언어들의 연합체(federatio.. 2018. 3. 19.
독자 여러분 반갑습니다. 이 책의 목적은 C++를 효과적으로 구사하는 방법을 가르쳐 주는 것이다. C++라는 언어를 사용해서 제작한 여러분의 소프트웨어가 이해하기 좋고 유지보수에도 그만이고 이식성, 확장성, 효율성까지 지님은 물론이며 여러분의 의도대로 동작하게 만들 때까지 많은 수고가 들지 않는 그런 결과물이 되는 데 도움이 될 지침 혹은 조언을 모아 두었다. 안목을 기르자는 목표를 가지고 읽자. 용어사용에 대하여 선언(declaration)은 코드에 사용되는 '어떤 대상'의 이름과 타입을 컴파일러에게 알려 주는 것 모든 함수의 선언문에는 시그니처(signature), 함수의 매개변수 리스트와 반환 타입이 나와 있다. 함수의 경우엔 시그니처가 그 함수의 타입이다. 정의(definition)는 선언에서 빠진 구체적인 세부사항을 컴.. 2018. 3. 15.