개체에 대한 포인터가있을 때 포인터가 아닌 변수를 어떻게 만듭니 까?포인터에서 스택 객체를 초기화하는 방법은 무엇입니까?
내 상황은 다음과 같습니다. 파일을로드하는 TFile 클래스가 있습니다. 여기에는 여러 가지 다른 이름의 객체가 포함될 수 있습니다. TFile에는 Get
메서드가 있습니다 (void*
반환). 이러한 개체 중 하나를 검색 할 수 있습니다. 내가 일반적으로 할 것은 :
TFile file("filename", "READ");
TTree* tree = (TTree*) file.Get("treename");
이제 내가 뭘하려는 대신이 아닌 포인터로 TTree tree
를 선언 할 수 있도록이며, 반환 된 포인터에서 초기화했다. 이 작업을 수행 할 수있는 방법이 있습니까 (개체를 복사하지 않고 TTree
의 원본을 편집하지 않는 것이 좋습니다)?
아니요 복사하지 않으면 불가능합니다. 그리고'TFile'과'TFile :: Get'의 구현에 따라 메모리 누수가 발생할 수도 있습니다. –