Это означает, что объект будет существовать всегда, пока он не будет явно уничтожен.
Самостоятельно справляться с этим уничтожением - очень плохая идея по большому количеству причин, и существует ряд схем, которые автоматически очищают его в различных точках - например, уникальное или общее владение. Это означает, что код, который использует new
напрямую, очень плохой, и втрое такой же для new[]
, delete
или delete[]
.
В уникальном владении есть один указатель (std::unique_ptr<T>
), который владеет объектом, и когда он уничтожается, объект уничтожается. Это только для перемещения. В совместном владении, когда любой (std::shared_ptr<T>
), который указывает на объект, является живым, объект остается живым. Когда последний уничтожается, объект также уничтожается.