C++ Mini Seri 4: Map [] Operatörü
Biggest newb trap in all of C++ — Louis Brandy(Senior C++ Dev-Facebook)
Başka dillerde programlama ile meşgul olup C++’a gelen insanların en sık düştüğü tuzak map veri yapısının [] operatörüdür. Bu operatörü map veri yapısından veri okumak için kullanmanız çok masum ve akla uygun gözüküyor. Aşağıdaki kodu ve sağ taraftaki sonucu gözlemleyelim:

Map veri tipimizde anahtar olarak mevcut olmayan değerler için bile hata (diğer dillerde Key Not Found Exception alırsınız) almadan 0 sonucu elde ettik. Bunun sebebi map tipinin [] operatörünün davranışının şu şekilde olması:
- Eğer anahtar mevcutsa karşılık gelen değeri döndür
- Eğer anahtar mevcut değilse yeni bir anahtar ekle ve karşılık gelen değer olarak ikinci şablon argümanının(yukarıdaki kodda integer) initial değerini ver.
Yukarıdaki kod sonucu map tipinin eleman sayısı:

Nasıl Kaçınılır?
Eleman varsa kullanmak için:
Elemanın var olması programınız için zorunlu ise try-catch blokları arasında map.at() metodunu kullanabilirsiniz:
