if refcounting is gc, then c++ is a garbage collected language. It has std::shared_ptr
Swift has refcounting built into the language and assumed everywhere. You could always use raw refs in Swift, but that's not the norm.
E.g. in Swift the reference counting is automatic a d implicit
In C++ it is manual and explicit