C언어에서는 malloc , free 함수를 지원하여 힙 상에서의 메모리 할당을 지원, C++ 에서도 지원 가능
그러나 언어차원에서 지원은 new, delete임
이번엔 이걸 써봅시다!!!!!
힙(heap)
스택(stack)
/* new 와 delete 의 사용 */
#include <iostream>
int main() {
int* p = new int;
*p = 10;
std::cout << *p << std::endl;
delete p;
return 0;
}
int* p = new int;
// int 크기의 공간을 할당하여 그 주소값을 p 에 집어 넣었음!
New 사용하는 방법
T* pointer = new T;
New 사용
/* new 로 배열 할당하기 */
#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;
}