কোনও এসটিএল মানচিত্রে প্রদত্ত কীটির কোনও মান রয়েছে কিনা তা নির্ধারণের সেরা উপায় কী?
#include <map>
using namespace std;
struct Bar
{
int i;
};
int main()
{
map<int, Bar> m;
Bar b = {0};
Bar b1 = {1};
m[0] = b;
m[1] = b1;
//Bar b2 = m[2];
map<int, Bar>::iterator iter = m.find(2);
Bar b3 = iter->second;
}
এটি একটি ডিবাগারে পরীক্ষা করে দেখে মনে হচ্ছে iter
এটি কেবল আবর্জনার ডেটা।
যদি আমি এই লাইনটি আপসহীন করি:
Bar b2 = m[2]
ডিবাগার অনুষ্ঠান b2
হয় {i = 0}
। (আমি অনুমান করছি এটির অর্থ এই যে অনির্ধারিত সূচক ব্যবহার করা সমস্ত খালি / অবিশ্বাস্য মানগুলির সাথে একটি কাঠামো ফেরত দেবে?)
এই পদ্ধতিগুলির কোনওটিই এত দুর্দান্ত নয়। আমি আসলে যা চাই তা হ'ল এটির মত একটি ইন্টারফেস:
bool getValue(int key, Bar& out)
{
if (map contains value for key)
{
out = map[key];
return true;
}
return false;
}
এই লাইন বরাবর কি কিছু বিদ্যমান?