2013-10-03 12 views
14

एसटीएल नौसिखिया सवाल के साथ एक नक्शा सर्च कर रहे हैं:ऊपरी सीमा और बाध्य निचले

के बारे में कार्यों std :: नक्शा :: UPPER_BOUND और std :: नक्शा :: LOWER_BOUND यह एक महत्वपूर्ण है कि वास्तव में में मौजूद नहीं है निर्दिष्ट करने के लिए मान्य है नक्शा?

उदाहरण

std::map<int,int> intmap; 
std::map<int,int>::iterator it1,it2; 

intmap[1]=10; 
intmap[2]=20; 
intmap[4]=40; 
intmap[5]=50; 

it1=intmap.lower_bound (3); // Is this valid? 
it2=intmap.upper_bound (3); // Is this valid? 

धन्यवाद ...

+6

हाँ इस्तेमाल कर सकते हैं नहीं है या,। (15 वर्ण) – kennytm

+0

यदि आप इसे पोस्ट करेंगे तो मैं जवाब के रूप में स्वीकार करूंगा। – NeonGlow

+0

बिलज़ ने इस पर एक बेहतर स्पष्टीकरण दिया। – kennytm

उत्तर

21

हाँ, वे दोनों मान्य हैं।

map::lower_bound कुंजी से कम नहीं होने वाले पहले तत्व को इंगित करने वाला एक पुनरावर्तक देता है।

map::upper_bound कुंजी से अधिक होने वाले पहले तत्व को इंगित करने वाला एक पुनरावर्तक देता है।

intmap[1]=10; 
intmap[2]=20; 
intmap[4]=40; // <<---both lower_bound(3)/upper_bound(3) will points to here 
intmap[5]=50; 

lower_bound/upper_bound वापसी स्थिति जहां मूल्य डाला जायेगा।

ध्यान दें, आप मूल्य कुंजी जाँच करना चाहते हैं नक्शा आप std::map::find

संबंधित मुद्दे