निम्नलिखित कोड में मैं एक मानचित्र के माध्यम से लूप करता हूं और परीक्षण करता हूं कि क्या किसी तत्व को मिटाना है। क्या तत्व को मिटाना और इसे सुरक्षित रखना सुरक्षित है या क्या मुझे किसी अन्य कंटेनर में चाबियां एकत्र करने और इरेज़ () को कॉल करने के लिए दूसरा लूप करने की आवश्यकता है?
map<string, SerialdMsg::SerialFunction_t>::iterator pm_it;
for (pm_it = port_map.begin(); pm_it != port_map.end(); pm_it++)
{
if (pm_it->second == delete_this_id) {
port_map.erase(pm_it->first);
}
}
अद्यतन: बेशक, मैंने तब यह प्रश्न पढ़ा था जो मुझे नहीं लगता था कि संबंधित होगा लेकिन मेरे प्रश्न का उत्तर देता है।
std::remove_ifstd:map