21-09-2010, 19:14
|
|
|
|
חבר מתאריך: 10.04.07
הודעות: 2,060
|
|
C++: map of map & operator
שלום,
יש לי מחלקה שמממשת מטריצה ומחילה מפה של מפה, משהו בסגנון:
קוד:
map<int, map<int, char> > _matrix;
איך ניתן להוציא איבר מהמטריצה מבלי להוסיף אותו?
כלומר, שאני ניגש לתא במטריצה לדוגמא:
קוד:
char a = _matrix[4][7];
אז a יכיל את התו שנמצא במקום המתאים או אפס (או האיבר הדיפולטיבי של char),
אך אם הוא לא קיים הוא גם יוסיף אותו למטריצה!
איך ניתן לעשות זאת מבלי שיתווסף איבר חדש "ריק" למטריצה?
אם אני פשוט מוחק את האיבר אחרי ההוספה, זה מוסיף לסיבוכיות של הפעולה?
האם ניתן לעשות זאת בצורה פשוטה בלי להסתבך עם מתודת find, ואיטרטורים?
תודה!
|