How it works...

The heart and soul of an Rc is its internal counter of how many objects own it at the moment. Every time the Rc is cloned, it increases by one, and every time one of its clones go out of scope, it decreases by one. The moment this counter reaches zero, the objects behind the Rc are destroyed. The main method contains some annotated examples of values the counter reaches during its lifetime to help you understand how the mechanism works.

The effect of the simple rules presented is that a resource behind an Rc will only be deleted once it's no longer used, at the slim cost of a very small runtime performance loss because of the ongoing counting. This delayed deletion effect is ideal for resources that are shared between objects. Simply wrap them in an Rc and they will make sure that everything survives long enough. This is the equivalent of shared_ptr in C++.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.147.47.166