For testing purposes I created a little unordered_set and tried to iterate over the set. The set holds an own class:
class Student { private: int matrNr;
unordered_set is a kind of data structure where you cant modify an item without changing its location.
Non-const iterator is const here 'cause STL does protect you from such an obvious mistake.
If you want to modify an unordered_set's item you have to remove it and add it again.