איטרטורים ב-C++

פרפציל

New member
איטרטורים ב-C++

אני מגדיר איטרטור בצורה הבאה:
vector<per *> my_vector; vector<per *>::iterator it; it = my_vector.begin();​
אבל לא מצליח לגשת למידע עצמו, כלומר לאיבר עליו מצביע האיטרטור - אם אני עושה חץ או נקודה אחרי it, הוויז'ואל נותן לי שלושה שדות אפשריים, שלא קשורים בכלל למבנה per שהגדרתי. האם הטעות היא בצורת ההגדרה של האיטרטור ?
 

אלדד28

New member
תעשה ככה:

it = my_vector.begin(); per *myitem = *it;​
ואז myitem יכיל את מה שאתה צריך.
 

shoosh4242

New member
אז מה?

מה שה visual נותך לך אחרי שאתה רושם חץ אחרי איטרטור לא קשור בהכרך למציאות. אתה כן יכול לגשת לאובייקט המוצבע בעזרת חץ אבל ה auto complete של VC פשוט לא מסתדר עם זה טוב. תכתוב מה שאתה צריך לכתוב ופשוט תנסה לקמפל את זה.
 

shoosh4242

New member
אז מה?

מה שה visual נותך לך אחרי שאתה רושם חץ אחרי איטרטור לא קשור בהכרך למציאות. אתה כן יכול לגשת לאובייקט המוצבע בעזרת חץ אבל ה auto complete של VC פשוט לא מסתדר עם זה טוב. תכתוב מה שאתה צריך לכתוב ופשוט תנסה לקמפל את זה.
 

פרפציל

New member
מן הסתם ניסיתי, זה לא התקמפל

לא הייתי שואל בפורום אם זה היה פשוט * ושם האיטרטור.
 

Zack DA

New member
../images/Emo45.gif הלוואי שכל מי שישאל שאלה

בפורום יחשוב וינסה קצת לבד לפני שהוא שואל שאלה.
 
בחלק מהמקרים?

אתה כנראה עובד עם יותר מ-VECTOR. אתה אולי עובד גם עם MAP ו-SET ו-CONTAINERS אחרים? שים לב ששם הפעלת אופרטור * על אובייקט מסוג ITERATOR מחזיר דברים אחרים....
 

cyberia2ooo

New member
אמממ ניסית פשוט

(*it)->m_memberVariable פשוט יכול להיות שהמשחק של הקדימות אופורטורים מפיל אותך כאן...
 
אני חושב

שהקדימויות של העברית הפילו *אותך*
 
למעלה