Если вам действительно нужно изменить элемент в set
, элемент должен быть однажды удален из set
и вставлен в него set
.
Например:
set<myClass>::iterator i = classlist.begin();
myClass c = *i;
c.value = 0;
classlist.erase( i );
classlist.insert( c );
Если operator<
для myClass
не относится к элементу value
, вы можете использовать std::map
вместо set
.Если предположить новый myClass
, в котором нет элемента value
, и предположить, что тип элемента value
равен T
, то std::map< newMyClass, T >
будет соответствовать цели.