배열의 길이를 알아내려면 어떻게 해야 되나요?
조회수 46906회
1 답변
-
C에서 쓰는 배열
C스타일의 배열에서는 다음 방법으로 배열의 크기를 알아낼 수 있습니다. *포인터(동적 할당을 받는 등)에서는 쓸 수 없습니다.
int a[7]; std::cout << "Length of array = " << (sizeof(a)/sizeof(*a)) << std::endl;
C++에서 쓰는 배열
대부분의 container class에서는
size()
: container에 있는 원소의 수max_size()
: container에 최대로 들어갈 수 있는 원소의 수
메소드가 이미 정의되어 있습니다.
std::array에서는 size()와 max_size()는 항상 동일합니다.
#include <array> int main(){ array<int, 7> myarr = {1,2,3,4,5}; cout << myarr.size() << endl; }
std::vector에서는 vector::size()로 현재 vector에 있는 원소의 수를 알아낼 수 있습니다.
#include <vector> int main(){ vector<int> myvector; myvector.insert(myvector.end(), 1); myvector.insert(myvector.end(), 2); myvector.insert(myvector.end(), 3); cout << myvector.size() << endl; }
댓글 입력