18-12-2010, 11:49
|
|
|
חבר מתאריך: 09.03.03
הודעות: 246
|
|
list & templates
האמת היא שאני עדיין לא מביו מה הולך בכל ה-templates אבל לקחתי את הפונקציה הבאה מהאינטרנט (מוכנה).
קוד:
template <class T>
inline void PRINT_ELEMENTS (const T& coll, const char* optcstr="")
{
typename T::const_iterator pos;
cout << optcstr;
for (pos=coll.begin(); pos!=coll.end(); ++pos) {
cout << *pos << ' ';
}
cout << std::endl;
}
ברגע שאני שולח לה ליסט של int היא מדפיסה לי את כל המספרים שיש בליסט.
אבל אם יש לי ליסט של פוינטרים לאובייקט שממנו אני רוצה להדפיס מספר שדות זה קצת מסתבך.
אם אני שולח לפונקציה את הליסט שלי (שמלא בפוינטרים) זה ידפיס לי את הכתובת של הפוינטר, איך אני גורם לפונקציה ללכת לא לפוינטר אלא למקום שהפוינטר מצביע עליו, האם צריך פוינטר כפול?
או שעדיף בכלל לא להשתמש בפונקציה הנ"ל?
|