If you need to save the iterator for any reason, iterators are the wrong tool, as they can be invalidated. Better use an index, or convert your iterator before saving to an index:
size_t n = it - mCards.begin();
Tranform back using:
auto it = mCards.begin()+n;
That works because vector<>
uses random access iterators.