ווטסאפ - לינוקס, BSD, קוד פתוח ותוכנה חופשית בעברית. Whatsup - Linux, BSD, open source and free software in Hebrew

 
 
  כניסת חברים · רישום · שכחתי סיסמה  
tux the penguin
תגובה לנושא
צפיה בנושא הבא Printable version התחבר כדי לבדוק הודעות פרטיות צפיה בנושא הקודם
אורח · ·
 

הודעה פורסם: 02/07/2018 - 22:12
נושא ההודעה: שאלה ב-C++ - משתנים כשמות משתנים אחרים

z
קוד:
 for (int i=0; i<5;i++)

        variable'i'++;


כיצד ניתן ליישם את הקוד שלעיל באופן תקין?
הרעיון שפלט של משתנה אחד אמור להיות חלק משם של משתנה אחר. (זכורני שבבאש היה יישום לזה, אבל אני מחפש כעת יישום ל-C++)
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 02/07/2018 - 22:20
נושא ההודעה:

מערך?
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 02/07/2018 - 22:26
נושא ההודעה: Re: שאלה ב-C++ - משתנים כשמות משתנים אחרים

Anonymous :
z
קוד:
 for (int i=0; i<5;i++)

        variable'i'++;


כיצד ניתן ליישם את הקוד שלעיל באופן תקין?
הרעיון שפלט של משתנה אחד אמור להיות חלק משם של משתנה אחר. (זכורני שבבאש היה יישום לזה, אבל אני מחפש כעת יישום ל-C++)


זה חוסר הבנה בסיסי בשפה :

קוד:
void doSomething (int & var);
for (int i = 0 ; i < 5 ; i++) { doSomething(i); }
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 02/07/2018 - 22:41
נושא ההודעה:

Anonymous :
מערך?

וקטור
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 02/07/2018 - 22:52
נושא ההודעה:

Anonymous :
Anonymous :
מערך?

וקטור

דוגמה מצוינת לאחת הסיבות שיש לשנוא את C++
זה כאילו הם ניסו ממש בכוח לעשות Abuse of Notation בכל דרך אפשרית.
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 02/07/2018 - 23:07
נושא ההודעה:

Anonymous :
Anonymous :
Anonymous :
מערך?

וקטור

דוגמה מצוינת לאחת הסיבות שיש לשנוא את C++
זה כאילו הם ניסו ממש בכוח לעשות Abuse of Notation בכל דרך אפשרית.

הוקטור נוח בהרבה מהמערך לדעתי.
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 03/07/2018 - 08:13
נושא ההודעה:

Anonymous :
Anonymous :
Anonymous :
מערך?

וקטור

דוגמה מצוינת לאחת הסיבות שיש לשנוא את C++
זה כאילו הם ניסו ממש בכוח לעשות Abuse of Notation בכל דרך אפשרית.


אין פה קשר לשימוש יתר או שימוש לא נכון בסינטקסט, מדובר על משתמש שלא יודע להשתמש בשפה ומנסה להשליך את מה שהוא יודע מ bash על C++
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 03/07/2018 - 10:09
נושא ההודעה:

Anonymous :
Anonymous :
Anonymous :
Anonymous :
מערך?

וקטור

דוגמה מצוינת לאחת הסיבות שיש לשנוא את C++
זה כאילו הם ניסו ממש בכוח לעשות Abuse of Notation בכל דרך אפשרית.


אין פה קשר לשימוש יתר או שימוש לא נכון בסינטקסט, מדובר על משתמש שלא יודע להשתמש בשפה ומנסה להשליך את מה שהוא יודע מ bash על C++


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

הודעה פורסם: 03/07/2018 - 10:59
נושא ההודעה:

Anonymous :
Anonymous :
Anonymous :
Anonymous :
Anonymous :
מערך?

וקטור

דוגמה מצוינת לאחת הסיבות שיש לשנוא את C++
זה כאילו הם ניסו ממש בכוח לעשות Abuse of Notation בכל דרך אפשרית.


אין פה קשר לשימוש יתר או שימוש לא נכון בסינטקסט, מדובר על משתמש שלא יודע להשתמש בשפה ומנסה להשליך את מה שהוא יודע מ bash על C++


אתה לא עוקב. עברנו מלדבר על השאלה המקורית לסוגיה של הסינטקס המזעזע של C++.
(אגב - סינטקס, לא סינטקסט)


אתה יכול בבקשה להציג מדוע std::array או std::vector הם בעלי סינטקסט מזעזע ?
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
borsoodלא בפורום כעת ת.הצטרפות: 05/01/2007 · הודעות: 306 ·
 

הודעה פורסם: 05/07/2018 - 07:50
נושא ההודעה: Re: שאלה ב-C++ - משתנים כשמות משתנים אחרים

Anonymous :
z
קוד:
 for (int i=0; i<5;i++)

        variable'i'++;


כיצד ניתן ליישם את הקוד שלעיל באופן תקין?
הרעיון שפלט של משתנה אחד אמור להיות חלק משם של משתנה אחר. (זכורני שבבאש היה יישום לזה, אבל אני מחפש כעת יישום ל-C++)

אי אפשר.
ב־++C כמו בכל שפה מהודרת, השמות של המשתנים לא קיימים בזמן הריצה. מעבר לזה המהדר רשאי לסדר את הקוד מחדש כך שהמשתנים אפילו לא יהיו קיימים בכלל בזמן הריצה.
 
 צפיה בפרופיל המשתמש שלח הודעה פרטית ביקור באתר המפרסם  
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 05/07/2018 - 09:37
נושא ההודעה: Re: שאלה ב-C++ - משתנים כשמות משתנים אחרים

borsood :
Anonymous :
z
קוד:
 for (int i=0; i<5;i++)

        variable'i'++;


כיצד ניתן ליישם את הקוד שלעיל באופן תקין?
הרעיון שפלט של משתנה אחד אמור להיות חלק משם של משתנה אחר. (זכורני שבבאש היה יישום לזה, אבל אני מחפש כעת יישום ל-C++)

אי אפשר.
ב־++C כמו בכל שפה מהודרת, השמות של המשתנים לא קיימים בזמן הריצה. מעבר לזה המהדר רשאי לסדר את הקוד מחדש כך שהמשתנים אפילו לא יהיו קיימים בכלל בזמן הריצה.


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

הודעה פורסם: 07/07/2018 - 15:07
נושא ההודעה: יש טכניקה

לפעמים יש צורך בזה גם ב-C++, כשאתה צריך לגשת למשתנים שהוגדרו במקום אחר לא כמערך/ווקטור.

האפשרויות שלך במקרה הזה:
1. אתה מקלל את מי שכתב את הקוד המקורי, ויוצר מערך של מצביעים למשתנים המקוריים.
2. אתה כותב מחדש את הקוד המקורי כמו בנאדם ועושה טובה לאנושות כולה. אבל לא תמיד הבוס מרשה לך להקדיש זמן לעבודות תשתית.
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 08/07/2018 - 09:14
נושא ההודעה: Re: יש טכניקה

Anonymous :
לפעמים יש צורך בזה גם ב-C++, כשאתה צריך לגשת למשתנים שהוגדרו במקום אחר לא כמערך/ווקטור.

האפשרויות שלך במקרה הזה:
1. אתה מקלל את מי שכתב את הקוד המקורי, ויוצר מערך של מצביעים למשתנים המקוריים.
2. אתה כותב מחדש את הקוד המקורי כמו בנאדם ועושה טובה לאנושות כולה. אבל לא תמיד הבוס מרשה לך להקדיש זמן לעבודות תשתית.


אתה לא אמור לגעת במשתנים שנכתבו במקומות אחרים, ב C++ עושים encapsulation ולא נותנים לכולם לגעת במשתנים הפרטיים שלנו
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 08/07/2018 - 11:39
נושא ההודעה:

אתה גם לא אמור להשתמש בקרנל מונוליטי, אבל הוא כל כך שימושי.....
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 08/07/2018 - 16:06
נושא ההודעה:

Anonymous :
אתה גם לא אמור להשתמש בקרנל מונוליטי, אבל הוא כל כך שימושי.....


זה כבר משהוא אחר, זה יהיה בערך כמו שתתחיל להשתמש לקוח מייל שהוא מגיע כקרנל מודול.
 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
אורח · ·
 

הודעה פורסם: 08/07/2018 - 18:35
נושא ההודעה: Re: יש טכניקה

Anonymous :
Anonymous :
לפעמים יש צורך בזה גם ב-C++, כשאתה צריך לגשת למשתנים שהוגדרו במקום אחר לא כמערך/ווקטור.

האפשרויות שלך במקרה הזה:
1. אתה מקלל את מי שכתב את הקוד המקורי, ויוצר מערך של מצביעים למשתנים המקוריים.
2. אתה כותב מחדש את הקוד המקורי כמו בנאדם ועושה טובה לאנושות כולה. אבל לא תמיד הבוס מרשה לך להקדיש זמן לעבודות תשתית.


אתה לא אמור לגעת במשתנים שנכתבו במקומות אחרים, ב C++ עושים encapsulation ולא נותנים לכולם לגעת במשתנים הפרטיים שלנו


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

הודעה פורסם: 09/07/2018 - 01:28
נושא ההודעה:

אם אתה מחפש משהו כמו about:config של הדפדפן, אז אתה יכול לעשות משהו דומה ל:


קוד:


// vars we want named access two.
int speed;
int weigth;
char *address;

//////////////////////

struct var {
  const char *name,
  void *ptr;
  enum { INT, STRING, BOOL } type;
};

var vars[] = {
  { "speed", &speed, INT },
  { "weight", &weight, INT },
  { "address", &address, STRING },
  { NULL }
}

//
// Use this to set a variable by name
//
void set_int_var(const har *name, int value) {
  int idx;
  idx = ...... ; // find 'name' in 'vars'.
  assert(vars[idx].type == INT);
  *vars[idx].ptr = value
}

 
   
תגובה  עם ציטוט חזרה למעלה
חזרה לתוכן הדיון
הצגת הודעות מלפני:     
מעבר אל:  
כל הזמנים הם GMT + 2 שעות
תגובה לנושא
צפיה בנושא הבא Printable version התחבר כדי לבדוק הודעות פרטיות צפיה בנושא הקודם
PNphpBB2 © 2003-2004 

תוכן הדיון

  1. אורח
  2. אורח
  3. אורח
  4. אורח
  5. אורח
  6. אורח
  7. אורח
  8. אורח
  9. אורח
  10. borsood
  11. אורח
  12. אורח
  13. אורח
  14. אורח
  15. אורח
  16. אורח
  17. אורח [ירחמיאל]