shared_ptr, string cref, ptr