ווקטור בתור class member.

DadleFish

New member
שימוש ב-using בקובץ header הוא מאוד

לא מומלץ. אם מישהו משתמש ב-header שלך, כפית עליו את ההכרה של std. אולי זה מתנגש לו עם משהו אחר? (ואני מדבר מנסיון...)
 

voguemaster

New member
הבעיה ידועה

מצד שני, האלטרנטיבה היא להכליל נניח את vector ואז ליצור מופע שלו ע"י std::vector ? מבולגן..
 

annefan

New member
המטרה הפוכה

שתשתמש בכל מקום ב-Fully Qualified Name, כלומר std::vector.
 

david o

New member
typedef

הכי בטוח להשתמש בשם המלא או ב typedef. לדוגמה:
class c { typedef std::vector<int> ivector; set(ivector& v); };​
כמובן שבתוך הפונקציות עצמן ניתן להשתמש ב using namespace ללא חשש מזיהום מרחב השמות הכללי.
 
תקל על עצמך ע"י typedef

למשל
class MyClass { public: typedef std::vector<int> IntArray; // use IntArray throughout // ... };​
 

selalerer

New member
שאלה נוספת: הגדרת פונקציה סטטית במח

לקה. יש לי הטעות הבאה:
error: cannot declare member function `static void* accepter::threadFunc(void*)' to have static linkage​
ההגדרה:
class accepter { private: static void *threadFunc(void *args);//thread function. //.... };​
והמימוש:
static void *accepter::threadFunc(void *args) { //..... }​
האם אני צריך להשמיט את הstatic מהמימוש? או שהבעיה היא משהו אחר? יש לי threadFunc עם אותה הגדרה במחלקה אחרת. האם זאת הבעיה? האם הוא באמת משתמש בשם האמיתי שנתתי בפונקציה סטטית ואז "מתלכלך" לו מרחב השמות? (לא נראה לי כלכך הגיוני).
 
למעלה