시작은 미미하나 끝은 쥬쥬하리라.

Delete 2

[열혈 C++ 프로그래밍] (2) C언어 기반 C++ 2

C언어 기반 C++ 2 C언어 기반 C++ bool 자료형 참조자의 이해 참조자와 함수 malloc & free를 대신하는 new C언어 기반 C++ const 변수, 객체의 상수화 키워드 const int* ptr1 = &val -> ptr1을 이용하여 val1의 값을 변경 할 수 없음 - const 변수는 반드시 선언과 동시에 초기화 -> 멤버 변수를 const로 선언하는 경우에는 반드시 초기화 리스트(initialize list) 사용 -> Bar의 num은 초기화가 아닌 const int num; 을 선언 한 이후 num = 1;을 시도하는 것 - const 포인터 -> const가 맨 앞에 있으면서 포인터 변수가 가리키 는 값을 상수화를 하는 경우에는 *ptr 상수화 -> const 위치가 자료..

[effective C++] Chapter 03 : 16. new 및 delete를 사용할 때는 형태를 반드시 맞추자

16. new 및 delete를 사용할 때는 형태를 반드시 맞추자 단일 객체 / 배열 객체 메모리 해제 typedef 메모리 해제 이것만은 잊지 말자 ! 단일 객체 / 배열 객체의 메모리 해제 위 코드는 string 배열을 가리키는 stringArray 포인터 객체를 생성하고 메모리 해제까지 하는 코드이다. 하지만 위 코드는 프로그램을 미정의 동작으로 빠지게 만든다. 그 이유는 위 코드만으로 100번의 소멸자 호출이 이루어지지 못하기 때문이다. new 연산을 사용하면 메모리가 할당이 되고, 생성자가 호출이 된다. 반면, delete 연산을 사용하면 소멸자가 호출되고 메모리가 해제되는 과정을 거친다. 여기서 delete 연산이 적용되는 객체의 개수는 소멸자가 호출되는 횟수와 동일하다. 기본적으로 단일 객체..

Study/Effective C++ 2023.08.13