Sorry my English is not very good. You mean there is no way to check whether insert a new element or overwriting existing element if we use  operator?
If the argument key value is not found, then it is inserted along with the default value of the data type.
operator may be used to insert elements into a map m using m[_Key] = DataValue; where DataValue is the value of the mapped_type of the element with a key value of _Key.
When using operator to insert elements, the returned reference does not indicate whether an insertion is changing a pre-existing element or creating a new one. The member functions find and insert can be used to determine whether an element with a specified key is already present before an insertion.
Nibu babu thomas
Microsoft MVP for VC++
Code must be written to be read, not by the compiler, but by another human being.
When using mapvariable[somekey] = somevalue to insert into a map variable, how to check whether there is conflicting key value in the map in an elegant way?
You can use map::find() to check whether the key is already present in map. Well, the  operator will overwrite the existing entry if the key already exists.
OT: Be a little careful while using  operator with map, especially while reading from map. For instance, if you try to get a key-value which is not in map, it create a new entry and return the default value. For instance,
// An empty map.
// If you lookup a for a key which is not present,// it will create empty entry and return. It won't// throw any error.
CString LookupKey = _T("key"); // Key which is not present.
CString Value = TempMap[LookupKey];
Good to know that. Previously I wrongly think we can check whether the expression mapvariable[somekey] returns null or not to check whether the element exists. Now I think I am wrong, and using find is the optimum solution to check existence, and using  could never tell us whether we insert new pair or overwriting an old pair, all are correct understanding?
I am attempting to access the file names as they get displayed in the listview of the Common File Dialog and change the file name text in certain ways. I was able to do this when the listview was not of style Ownerdata (which seems to be in XP), but in Vista they seem to be of style Ownerdata and I am not able to do a SetItemText anymore. Has anyone done something like this, and can help?