보통의 크기를 찾기, 내가 그러나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 개의 값으로 그것을 채웠다. 어떻게하면 채워진 요소의 수를 반환 할 수 있습니까?
당신은'표준 : : 벡터을'사용 및 트랙 추가하고'double's의 배열에서 제거를 유지하는 모든 두통을 피할 수 있습니다 방문하시기 바랍니다. –
'sizeof'는 컴파일 타임에 정의되어 있음을주의하십시오 (드문 예외는 존재합니다, 무시하십시오). 그러므로, 표현식은 항상'1024'입니다 (컴파일러는 거기에'1024'를 놓았습니다!) – Ajay