當我有一個指向對象的指針時,如何從中創建一個非指針變量?如何從指針初始化堆棧對象?
我的情況是這樣的:我有一個加載文件的TFile類。這些可以包含各種不同的命名對象。 TFile有一個Get
方法(返回void*
),讓我檢索其中一個對象。我最常做的是:
TFile file("filename", "READ");
TTree* tree = (TTree*) file.Get("treename");
現在我想要做的就是能夠申報TTree tree
作爲非指針代替,並從返回的指針初始化。有沒有辦法做到這一點(最好不要複製對象,並且不要編輯TTree
的來源)?
不,如果沒有複製就不可能。根據你的'TFile'和'TFile :: Get'的實現,它甚至可能導致內存泄漏。 –