ABA


"עזרה עם הבנת template ב C++"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #11281 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 11281
The Boss  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 14.9.08
6889 הודעות, 2 פידבק, 4 נקודות
   01:19   05.04.13   
אל הפורום  
  עזרה עם הבנת template ב C++  
 
   מדובר בקישור הבא
http://playground.arduino.cc/Code/EEPROMWriteAnything

אני צריך עזרה בהסבר על הקטע קוד הבא בבקשה



put this in a file named "EEPROMAnything.h":

#include <EEPROM.h>
#include <Arduino.h> // for type definitions

template <class T> int EEPROM_writeAnything(int ee, const T& value)
{
const byte* p = (const byte*)(const void*)&value;
unsigned int i;
for (i = 0; i < sizeof(value); i++)
EEPROM.write(ee++, *p++);
return i;
}

template <class T> int EEPROM_readAnything(int ee, T& value)
{
byte* p = (byte*)(void*)&value;
unsigned int i;
for (i = 0; i < sizeof(value); i++)
*p++ = EEPROM.read(ee++);
return i;
}


תודה רבה

קופון הנחה של 5% ל iHerb
https://goo.gl/Q6Tr1S
הרבה יותר טוב מ Vitacost


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  אתה מנסה להבין מה הפונקציות עושות או מה זה template? inno3D 05.04.13 09:49 1
     מכתב The Boss  05.04.13 10:58 2
         זה אומר שהוא מקבל רפרנס קבוע לטיפוס שמועבר Nesher  05.04.13 11:14 3
             תודה רבה,(: The Boss  05.04.13 11:37 6
         הפרמטר השני שהפונקציה מקבלת זה inno3D 05.04.13 11:20 4
             הבנתי, תודה רבה :) The Boss  05.04.13 11:37 5

       
inno3D
חבר מתאריך 21.4.02
4533 הודעות, דרג אמינות חבר זה
   09:49   05.04.13   
אל הפורום  
  1. אתה מנסה להבין מה הפונקציות עושות או מה זה template?  
בתגובה להודעה מספר 0
 
   tamplate בעצם מאפשר לך ב C++ לעשות פונקציה (או מחלקה) שמקבלת כל טיפוס

והשם של הפונקציות די מסביר מה הן עושות


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
The Boss  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 14.9.08
6889 הודעות, 2 פידבק, 4 נקודות
   10:58   05.04.13   
אל הפורום  
  2. מכתב  
בתגובה להודעה מספר 1
 
   מה זה הפרמטר השני? לא הבנתי מה הוא מקבל?
const T& value)

תודה רבה


template <class T> int EEPROM_writeAnything(int ee, const T& value){
const byte* p = (const byte*)(const void*)&value;

קופון הנחה של 5% ל iHerb
https://goo.gl/Q6Tr1S
הרבה יותר טוב מ Vitacost


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Nesher  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 2.7.02
2 הודעות, 24 פידבק, 43 נקודות
   11:14   05.04.13   
אל הפורום  
  3. זה אומר שהוא מקבל רפרנס קבוע לטיפוס שמועבר  
בתגובה להודעה מספר 2
 
const = קבוע
& = רפרנס
T = הטייפ שעבורו יצרת את ה-Template

אם אני זוכר נכון חח.. כמה שנים טובות שלא נגעתי ב-++C


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
The Boss  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 14.9.08
6889 הודעות, 2 פידבק, 4 נקודות
   11:37   05.04.13   
אל הפורום  
  6. תודה רבה,(:  
בתגובה להודעה מספר 3
 
  

קופון הנחה של 5% ל iHerb
https://goo.gl/Q6Tr1S
הרבה יותר טוב מ Vitacost


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
inno3D
חבר מתאריך 21.4.02
4533 הודעות, דרג אמינות חבר זה
   11:20   05.04.13   
אל הפורום  
  4. הפרמטר השני שהפונקציה מקבלת זה  
בתגובה להודעה מספר 2
 
   ערכתי לאחרונה בתאריך 05.04.13 בשעה 11:23 בברכה, inno3D
 
את אותו משתנה ששלחת בקריאה לפונקציה
ואתה לא יכול לשנות לו את הערך

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

בנוסף, כזה פרמטר לא יכול לקבל מספר או תו למשל, רק משתנה שיש לו מקום בזכרון


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
The Boss  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 14.9.08
6889 הודעות, 2 פידבק, 4 נקודות
   11:37   05.04.13   
אל הפורום  
  5. הבנתי, תודה רבה :)  
בתגובה להודעה מספר 4
 
  

קופון הנחה של 5% ל iHerb
https://goo.gl/Q6Tr1S
הרבה יותר טוב מ Vitacost


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net