C++ Mini Seri 4: Map [] Operatörü

Sıddık Açıl
Nov 3 · 2 min read

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:

Sıddık Açıl

Written by

ITU CS Graduate. Ericsson Türkiye

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade