我需要一個未在堆上分配的對象的引用計數器。C++:對象的引用計數器
我需要它來實現的,不能輕易複製和破壞對象RAII機制:
class File
{
private:
int fd;
public:
File(const std::string &path) ... // opening file
destroy(); // actually closing file
File(const File &f) ... // just copying the fd
~File(); // doing nothing
}
對於這樣一個std::shared_ptr
的情景通常用於:構造函數和對象的析構函數,其指針共享被調用一次。
但是在我的情況下,我寧願避免在堆上分配對象。我需要一個類似std::shared_ptr
的shared_object
類,以便我的類的非複製構造函數和destroy
函數(在上例中)只被調用一次。
這樣的事情是否存在?
@NiklasB。析構函數需要做一些引用計數。 'shared_ptr'已經擁有所有內置的邏輯。 – 2012-03-30 01:44:36
@R。馬蒂尼奧:謝謝,我也意識到這一點。再看一眼代碼永遠不會受到傷害(: – 2012-03-30 01:46:31
)如果你不打算在堆上維護引用計數,你打算如何維護引用計數? – 2012-03-30 01:50:43