Не путайте указатели и итераторы. Иногда (например, массивы) указатель может функционировать как итератор. Но это не обязательно.
Итераторы в C ++ обычно перегружают оператор *
, называемый «оператор разыменования». Это делает их похожими на указатели C еще больше, когда они технически могут совпадать или не совпадать.
Передача итераторов, как правило, хрупкая, и я бы избежал этого. В частности, одновременное изменение мультикарты в вашем случае может сделать итератор недействительным.