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

C++에서 새로운 배치의 용도는 무엇입니까?


간단히 말하면, new 배치를 사용하면 주어진 변수에 이미 할당된 메모리에 개체를 "구성"할 수 있습니다. 이는 이미 할당된 동일한 메모리를 재할당하지 않고 재사용하는 것이 더 빠르기 때문에 최적화에 유용합니다. 다음과 같이 사용할 수 있습니다 -

new (address) (type) initializer

주어진 유형의 새 객체가 생성되기를 원하는 주소를 지정할 수 있습니다.

예시

#include<iostream>
using namespace std;
int main() {
   int a = 5;
   cout << "a = " << a << endl;
   cout << "&a = " << &a << endl;

   // Placement new changes the value of X to 100
   int *m = new (&a) int(10);

   cout << "\nAfter using placement new:" << endl;
   cout << "a = " << a << endl;
   cout << "m = " << m << endl;
   cout << "&a = " << &a << endl;

   return 0;
}

출력

이것은 출력을 제공합니다 -

a = 5
&a = 0x60ff18

새로운 배치를 사용한 후 -

a = 10
m = 0x60ff18
&a = 0x60ff18