- new = c 언어의 malloc
- delete = c 언어의 free
// type* pointer = new type;
#include <iostream>
int main() {
int* p = new int;
*p = 10;
std::cout << *p << std::endl; // 10
delete p;
return 0;
}
delete 로 해제할 수 있는 메모리 공간은 사용자가 new 를 통해서 할당한 공간만 가능 ( Heap 영역 )
new로 배열 할당하기
new - delete 가 짝을 이루고,
new [] - delete [] 가 짝을 이룸
#include <iostream>
int main() {
int arr_size;
std::cout << "array size : ";
std::cin >> arr_size;
int *list = new int[arr_size];
for (int i = 0; i < arr_size; i++) {
std::cin >> list[i];
}
for (int i = 0; i < arr_size; i++) {
std::cout << i << "th element of list : " << list[i] << std::endl;
}
delete[] list;
return 0;
}
'언어 > C, C++' 카테고리의 다른 글
[C++] Standard Template Library - STL (0) | 2023.08.24 |
---|---|
[C++] 객체 지향 프로그래밍 (0) | 2023.08.16 |
[C++] 참조자(reference) (0) | 2023.08.14 |
[C++] namespace (0) | 2023.08.11 |
[C] 포인터 (0) | 2023.06.29 |