반응형
Notice
Recent Posts
Recent Comments
Link
Brise
[C++ 기본 2] 2. memory allocation 본문
반응형
// 2_메모리할당 - 52 page
#include <iostream>
// malloc new
// 함수 연산자
// void* 반환 정확한 타입으로 반환
// free 해지 delete 해지
// 생성자 호출안됨 생성자 호출
// 실패시 0반환 실패시 예외 발생
int main()
{
// C 스타일
int* p = (int*)malloc(sizeof(int) * 20);
free(p);
// C++ 스타일
int* p2 = new int;
delete p2;
int* p3 = new int[20]; // 배열로 할당
delete[] p3; // delete 가 아니라 delete[] 로 반환
//delete p3; // undefined(미정의 동작) 발생
}
객체 지향 언어인 C++에서는 malloc 뿐만 아니라 new로 동적 메모리 할당을 수행할 수 있다. malloc은 free로, new는 delete로 해제할 수 있으면 new의 경우 생성자를 호출하고 실패시 예외를 발생시킨다.
반응형
'프로그램 > C,C++' 카테고리의 다른 글
[C++ 기본2] 5. OOP(Stack example) (0) | 2022.02.24 |
---|---|
[C++ 기본 2] 4. OOP(Object Oriented Programming) (0) | 2022.02.23 |
[C++ 기본 2] 3. example(reference, template) (0) | 2022.01.29 |
[C++ 기본 2] 1. reference (0) | 2022.01.29 |
[C++ 기본] 11. nullptr (0) | 2022.01.29 |
[C++ 기본] 10. Casting (0) | 2022.01.29 |
[C++ 기본] 9. 제어문 (0) | 2022.01.29 |
Comments