Avatar ·

كيفية التحقق من وجود مفتاح في std::map في C++؟

مرحبًا بالجميع! أنا مبتدئ في C++ وواجهت مشكلة أثناء العمل مع std::map. لدي قاموس يخزن أزواج "key-value"، مثل معرف المستخدم واسمه. أحتاج إلى التحقق من وجود مفتاح معين في هذا القاموس قبل الوصول إليه لتجنب الأخطاء. حاولت استخدام العامل [] للوصول، ولكن إذا لم يكن المفتاح موجودًا، فإنه ينشئ إدخالًا جديدًا بهذا المفتاح وقيمة افتراضية، وهذا لا يناسبني. إليك مثال الكود الخاص بي: ```cpp #include #include #include int main() { std::map users; users[1] = "Alice"; users[2] = "Bob"; // أحاول التحقق مما إذا كان المفتاح 3 موجودًا if (users[3] == "") { // هذا ينشئ إدخالًا بالمفتاح 3! std::cout << "المفتاح 3 غير موجود" << std::endl; } else { std::cout << "المفتاح 3 موجود: " << users[3] << std::endl; } // الآن في users يوجد إدخال إضافي {3, ""} std::cout << "حجم map: " << users.size() << std::endl; ```