Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

new를 사용하여 C++ 객체를 인스턴스화하는 것과 new를 사용하지 않는 것의 차이점은 무엇입니까?

<시간/>

C++에서는 new 키워드를 사용하거나 사용하지 않고 클래스 개체를 인스턴스화할 수 있습니다. new 키워드를 사용하지 않으면 일반 객체와 같습니다. 이것은 스택 섹션에 저장됩니다. 스코프가 종료되면 소멸됩니다. 그러나 항목에 대한 공간을 동적으로 할당하려는 경우 해당 클래스의 포인터를 만들고 new 연산자를 사용하여 인스턴스화할 수 있습니다.

C++에서 new는 동적으로 메모리를 할당하는 데 사용됩니다.

예시

#include <iostream>
using namespace std;
class Point {
   int x, y, z;
   public:
      Point(int x, int y, int z) {
         this->x = x;
         this->y = y;
         this->z = z;
      }
      void display() {
         cout << "(" << x << ", " << y << ", " << z << ")" << endl;
      }
};
int main() {
   Point p1(10, 15, 20);
   p1.display();
   Point *ptr;
   ptr = new Point(50, 60, 70);
   ptr->display();
}

출력

(10, 15, 20)
(50, 60, 70)