首頁 > 後端開發 > C++ > 如何有效地將 std::map 中的鍵和值提取到向量中?

如何有效地將 std::map 中的鍵和值提取到向量中?

Patricia Arquette
發布: 2024-12-11 02:31:10
原創
284 人瀏覽過

How Can I Efficiently Extract Keys and Values from a std::map into Vectors?

從 std::map 擷取鍵和值到向量

使用 std::map 時,通常需要單獨處理鍵或值。雖然定義自訂函子可以實現此任務,但還有更有效的方法可用。

使用迭代器:

最直接的方法是使用std::map 迭代器:

std::map<int, int> m;
std::vector<int> keys;
std::vector<int> values;

for (std::map<int, int>::iterator it = m.begin(); it != m.end(); ++it) {
    keys.push_back(it->first);
    values.push_back(it->second);
    std::cout << "Key: " << it->first << std::endl;
    std::cout << "Value: " << it->second << std::endl;
}
登入後複製

使用升壓>使用升壓圖庫:

如果您使用Boost 函式庫,您可以利用BOOST_FOREACH 巨集來更簡單:

std::map<int, int> m;
std::vector<int> v;

BOOST_FOREACH(const std::pair<int, int>& me, m) {
    v.push_back(me.first);
    std::cout << me.first << "\n";
}
登入後複製

透過利用這些方法,您可以有效地提取和處理將 std::map 中的鍵或值映射到向量中,而不需要複雜的函子。

以上是如何有效地將 std::map 中的鍵和值提取到向量中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板