*b++

vespa

New member
*b++

הי, האם מישהו יודע מה הכוונה (ב c++) מה זה ++b* האם למישהו יש גם דוגמה ? תודה.
 

hubris

New member
ואני שואל למה?????????????

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

galh

New member
זה תלוי בעדיפות של האופרטורים

אם אני זוכר נכון אז לכוכבית יש עדיפות יותר נמוכה כך שהביטוי בעצם אומר לעשות דה-רפרנס (להתייחס לנתון שהמצביע מצביע עליו) לכתובת הבאה. אבל אם אני טועה אז הכוונה היא להגדיל את הנתון של המצביע באחד. זה מקרה קלאסי שמדגים למה להשתמש בסוגריים.
 

linuxius

New member
תשובה

במקרה הנ"ל כאשר עושים: var1=*b++ //without brackets כאשר עושים זאת כך ללא סוגריים מה שקרוה הוא ש-var1 יקבל את הערך שבכתובת אליה מצביע b ואח"כ b יקודם לכתובת הבאה בהתאם לסוגו (עם הוא מצביע ל-long הוא יקודם ב-4, עם הוא מצביע ל-struct מסויים אז הוא יעבור לכתובת הבאה (sizeof(struct בתים אח"כ.
 
למעלה