A class that provides shared ownership of an integer value.
This class wraps a std::shared_ptr to provide a reference-counted integer value. When a SharedReal object is copied, it shares the same underlying integer with the original object. The integer's memory is automatically deallocated when the last SharedReal object pointing to it is destroyed.