に値を使用して一致するキーを取得する方法を、私は、対応するIDを見つける必要があります。事前にありがとう!は私だけ前を使用した値の型</p> <pre><code>map<int id, struct_t*> table struct_t { int prev; int wt; string name; } </code></pre> <p>などの構造体とのマップを持って、マップC++
EDIT:
int key=0;
for(auto it = table.begin(); it != table.end(); ++it)
{
if(table[(*it).first].prev == ?)
}
これは私の地図データがどのように見えるかです:各IDについて
id prev abundance thing
1573 -1 0 book
1864 1573 39 beds
2075 1864 41 tray
1760 2075 46 cups
、私は次の一致するidを見つける必要があります。したがって、前の列の1573の場合は、一致する 'id'が1864である必要があります。また、std :: nextはデータセットに次の要素に一致するIDを持つことができないため動作しません。 !
お願いします。あなたがあなた自身をセットアップする必要がありますもちろん
#include <map>
#include <string>
#include <iostream>
int main()
{
std::map<int, std::string> m = {
std::make_pair(0, "zero"), std::make_pair(1, "one"), std::make_pair(2, "two")
};
int key = 0;
for (auto &i : m) {
if (i.second == "two") {
key = i.first;
break; // to stop searching
}
}
std::cout << key << std::endl;
}
:私の上司は(!そのすでに3週間となって)
'map'のキーは何ですか? – hmjd
データタイプを意味していますか?それはint idです – snazziii
マップは値ではなくキーで検索されることを意味します。たぶんあなたのデザインを調整するか、別の種類のコンテナを使用する必要があります。 – arnoo