उदाहरण के लिए, प्रश्न के लिए:
void MyClass::MyFunction( int x ) const
{
std::cout << m_map[x] << std::endl
}
यह संकलित नहीं करेगा, क्योंकि [] ऑपरेटर गैर-कास्ट है।
यह दुर्भाग्यपूर्ण है, क्योंकि [] वाक्यविन्यास बहुत साफ दिखता है। इसके बजाय, मुझे ऐसा कुछ करना होगा:
void MyClass::MyFunction( int x ) const
{
MyMap iter = m_map.find(x);
std::cout << iter->second << std::endl
}
इसने मुझे हमेशा अचंभित किया है। [] ऑपरेटर गैर-कॉन्स्टेबल क्यों है?
operator[]
दिए गए तत्व के मौजूद न होने की स्थिति में उपज क्या होनी चाहिए ?