언어 공부/C++

3. 객체배열과 동적메모리

LTSGOD 2023. 1. 14. 11:07

객체배열

  • Circle arr[3];
  • 객체생성할 때 디폴트생성자로 만들어짐
  • 초기화 방법
    • for문사용
    • 선언과 동시에 초기화(Circle arr[3] = {Circle(1), Circle(2), Circle(3)})

동적메모리

  • 프로그램 실행중 만들수있음.
  • delete p, 배열  delete [] p 해서 동적메모리 해제 시킬 수 있음.
  • 포인터로만 사용가능
  • 배열할당시 할당과 초기화를 동시에 할 수없음
  • 사용방식
    • Circle* p = new Circle();

this

  • 현재 실행중인 객체의 포인터
    • 객체에서만 사용가능
    • 컴파일러가 선언한 포인터 변수
  • 필요한이유
    • 매개변수 이름 이 멤버변수이름이랑 같을때 구분지어줌
    • 멤버함수가 현재객체의 주소를 리턴할 때 필요
  • 사용범위
    • 멤버함수에서만 사용