class* object = NULL;
이 있고 object
을 function(class* arg){arg = new class();}
으로 전달하면 object = new class()
입니까?개체의 null 포인터를 함수에 전달
포인터가 바로 주소이기 때문에 나는 묻습니다. 따라서 NULL 포인터를 인수로 전달하여 새 객체를 할당하면 주소가 0에서 변경되고 원래 포인터는 새 객체를 가리 키지 않습니다. 맞습니까?
class* object = NULL;
이 있고 object
을 function(class* arg){arg = new class();}
으로 전달하면 object = new class()
입니까?개체의 null 포인터를 함수에 전달
포인터가 바로 주소이기 때문에 나는 묻습니다. 따라서 NULL 포인터를 인수로 전달하여 새 객체를 할당하면 주소가 0에서 변경되고 원래 포인터는 새 객체를 가리 키지 않습니다. 맞습니까?
함수 내에서 arg
은 새 객체를 가리 킵니다. 그러나 포인터의 복사본을 전달할 때 함수가 끝나면 더 이상 액세스 할 수 없으며 object
은 포인터를 가리 키지 않습니다 (그러나 여전히 NULL 임).
당신은,
을, (class*&
)를 개체에 대한 참조, 또는 (
class**
을) 개체에 대한 포인터 중 하나를 통과를 수정할 수있는 기능을 활성화해야
맞습니다. 함수에 값으로 object
을 전달했습니다. 따라서 함수의 값을 변경해도 object
에는 아무런 영향을 미치지 않습니다. 함수가 object
을 변경할 수있게하려면 함수에 object
에 대한 참조 또는 포인터를 전달해야합니다.