danbibibi
article thumbnail
Published 2023. 8. 14. 12:35
[C++] new, delete 언어/C, C++
  • 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
profile

danbibibi

@danbibibi

꿈을 꾸는 시간은 멈춰 있는 것이 아냐 두려워하지 마 멈추지 마 푸른 꿈속으로