通常的大小,我會用找到C中的數組++
int size = sizeof(array_name)/sizeof(double)
但是發現雙數組的大小,我使用名爲「等級」作爲一個類中的成員被稱爲雙陣列「成績」
class Grades{
private:
double grades[1024];
public: Grades(string gradeList);
Grades();
int getNumGrades();
string toString();
};
雙數組稍後填充在構造函數中。然而,當我做
cout << "size = " << (sizeof(grades)/sizeof(double)) << endl;
它總是給我1024.這是在它填充了一些隨機值後的構造函數的末尾。我填充了5個值。我怎樣才能讓這個返回填充元素的數量?
你可以用'的std ::矢量',避免跟蹤添加和'double's數組去除所有的頭痛。 –
2014-11-08 06:03:34
總是要注意'sizeof'是編譯時間定義的(很少發生異常,忽略)。因此,表達式將始終爲'1024'(因爲編譯器已將'1024'放在那裏!) – Ajay 2014-11-08 10:15:12