My homepage
Advice: Take only as directed - If symptoms persist, please see your debugger
Linus Torvalds: "But it clearly is the only right way. The fact that everybody else does it some other way only means that they are wrong"
Leaving aside design considerations, it's flat-out impossible. Under 32-bit addressing, you only have 4 gigabytes of RAM anyway. If the reference count was actually equal to 2^32-1, that would imply an equal number of references to an object, and since any such reference will be at least as large as a pointer, this would require 16 gigabytes to represent. But we don't have 16 gigabytes, as we already said we are using 32-bit addressing. Contradiction. QED.
Code://try //{ if (a) do { f( b); } while(1); else do { f(!b); } while(1); //}