Yeah "exactly the same as C++" is really very accurate here, and there's really not much else to say. I find it a little odd that the Wikipedia article even mentions "reference counting is optional", because it makes Arc sound like a central feature of the language, but I don't think anyone thinks about shared_ptr that way.
To add to that, I can imagine implementing a sort of fully garbage collected smart pointer in both languages (but maybe not compacting), but surely no one would describe either of them as an "optionally garbage collected language".