עבור לתוכן

שאלה ב c++ ב STL

Featured Replies

פורסם

set<int> coll4;

copy (coll1.begin(), coll1.end(), // source

inserter(coll4,coll4.begin())); // destination

מה תפקיד

coll4.begin()

בשורה השלישית

ןלמה זה לא משנה לי עם אני שם קול4.סוף במקום קול4.התחלה?

פורסם

inserter הוא סוג של איטרטור שמקבל מיכל (כמו vector או set) ומצביע (= איטרטור) למיקום כלשהו בתוך אותו מיכל, ויודע להוסיף אלמנטים למיכל באותו מיקום.

ה-coll4.begin() הוא המצביע שמציין את המקום אליו יתווספו האלמנטים.

בדוגמה שנתת coll4 ריק, ולכן coll4.begin() == coll4.end(), ולכן זה לא משנה מי אתה נותן.

אגב: כשאתה מכניס קוד לפורומים, תשתמש בכפתור המתאים (ציור של סולמית).

פורסם

יש גרסאות מיוחדות של inserter, לדוגמא בשביל להוסיף תמיד לסוף הקונטיינר אפשר להשתמש ב-back_inserter.

http://msdn2.microsoft.com/en-us/library/12awccbs(VS.80).aspx

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים