C++

2010-02-27 7 views
7

'daki harita hakkında bir başlangıç ​​değeri varsayımı C++ 'da bir harita map<string,int> ex; başlatıyorum. Stl, içinde includes_key veya benzeri bir işlev bulamadım bu yüzden sadece ex[inputString]++;C++

kullanarak hata ayıklayıcısını doğru olarak sıfırlamak için int gösterir, iyi bir varsayım mı?

cevap

7

Evet, operator[] ile erişilemeyen değerler varsayılan olarak yapılandırılmıştır. ! Sayısal değerler için, bu sözü 0.

, sen count yönteme aradığınız: o tür başlatmak Varlığından eğer sıfıra başlatılır olduğunu bilmek güzel

bool hasElement = ex.count("element"); 
+1

sayesinde, kaydeder Python –

+2

@akshayubhat C++ 'nın' haritası [k] 've Python'un' dict.setdefault (k [, d]) 'ında ihtiyaç duyulan yapı, C++ 'nın haritası olarak var olmayan bir anahtarın bir varsayılan değere ayarlanmasına benzemektedir. (k) -> ikinci 've Python'un deyimiyle [k] benzer olmayan bir anahtarın hata vermesine benzer. İki dil, "ortak" işlem olmak için farklı seçenekleri seçti. – ephemient