এটি আমি বেরিয়ে আসা সম্ভাব্য উপায়গুলির মধ্যে একটি:
struct RetrieveKey
{
template <typename T>
typename T::first_type operator()(T keyValuePair) const
{
return keyValuePair.first;
}
};
map<int, int> m;
vector<int> keys;
// Retrieve all keys
transform(m.begin(), m.end(), back_inserter(keys), RetrieveKey());
// Dump all keys
copy(keys.begin(), keys.end(), ostream_iterator<int>(cout, "\n"));
অবশ্যই, আমরা অন্য functor সংজ্ঞা দ্বারা মানচিত্র থেকে সব মান উদ্ধার করতে পারেন RetrieveValues ।
সহজেই এটি অর্জনের অন্য কোনও উপায় আছে কি? (আমি সবসময়ই ভাবছি যে কেন std :: মানচিত্রে এটি করার জন্য কোনও সদস্য ফাংশন অন্তর্ভুক্ত নয়))
keys.reserve(m.size());
।