2014-10-08 5 views
-6

C에서 프로그램에 의해 할당 된 메모리를 확보해야합니다. 동일한 C++ 개체에 대한 이동합니까?C++에서 개체 삭제하기;

class Common 
{ 
    //some function declarations 
} 

void example() 
{ 
    Common obj; 
    //do stuff with obj 
    delete obj; 
} 

delete obj의 중요도; 여기에 내가 함수를 asume() 한 번만 호출됩니다?

+0

실제로, 스택에있는 항목을 ** 삭제해서는 안됩니다. 그것은 당신이 객체를'new'하는 경우에만 해당됩니다. 변수의 메모리는 변수가 범위를 벗어나면 즉시 해제되며,이 경우 'example' 함수의 끝에서 해제됩니다. – CoryKramer

+0

첫 번째 문장이 완전히 정확하지 않습니다. – juanchopanza

+0

이것은 동적으로 할당 된 메모리에만 적용됩니다. –

답변

1

delete 스택에 할당 된 함수의 로컬 개체가 없습니다. new 연산자를 사용하여 할당 된 개체를 삭제해야합니다.

또한 delete 연산자는포인터에 적용됩니다. 코드 스 니펫이 컴파일되지 않습니다.

+0

고맙습니다. – user2858578

관련 문제