Yapmacık örneğin, söz uğruna: [] operatör const olmayan olduğuNeden STL haritaları için [] operatör const değil mi?
void MyClass::MyFunction(int x) const
{
std::cout << m_map[x] << std::endl
}
Bu, derlenmez. [] Sözdizimi çok temiz görünüyor beri
Bu, talihsizliktir. Bunun yerine, böyle bir şey yapmak zorunda:
void MyClass::MyFunction(int x) const
{
MyMap iter = m_map.find(x);
std::cout << iter->second << std::endl
}
Bu her zaman beni rahatsız etti. [] Operatörü neden-olmayan yapılıyor?
ne olmalıdır 'operatörü []' oranlarını kullanarak daha temiz bir sürümüne sahip olabilir ile Verilen eleman mevcut değil mi? –
@Frerich Raabe: Üye işleviyle aynı şey: throw std :: out_of_range –