고정 크기 벡터의 벡터를 C++로 선언하려면 어떻게해야합니까? 예를 들어고정 크기 vecors의 C++ 벡터
:
vector of vectors with N elements.
이되지 않음 : 당신이 할 수있는
이std::array<int, 10> myNumbers;
이 유일한 아래쪽은 다음과 같습니다
vector<vector<int> > v(N) //declares vector of N vectors
고정 크기 벡터의 벡터를 C++로 선언하려면 어떻게해야합니까? 예를 들어고정 크기 vecors의 C++ 벡터
:
vector of vectors with N elements.
이되지 않음 : 당신이 할 수있는
이std::array<int, 10> myNumbers;
이 유일한 아래쪽은 다음과 같습니다
vector<vector<int> > v(N) //declares vector of N vectors
std :: array는 여러분의 친구입니다.
http://en.cppreference.com/w/cpp/container/array
예를 들어, 당신은 고정 된 크기의 vector
를 원하는 경우
typedef std::array<int, N> N_array;
그런
std::vector<N_array>
std :: array는 C++ 11입니다. C++ 03을 사용하는 경우 [Boost.Array] (http://www.boost.org/doc/html/array.html)를 사용하십시오. –
typedef를 사용할 필요가 없습니다. 'std :: vector
@JanHudec, 당신은 완벽합니다. typedef는 구문을 약간 더 단순하게 만드는 것입니다. –
당신은 표준 : 배열을 사용할 수 있습니다 얼마나 많은 "활동적인"요소가 있는지 알지 못합니다. 왜냐하면 당신은 뒤로 밀거나 뒤로 물러 가지 않기 때문입니다. 일반 (그러나 안전한) 배열처럼 사용합니다.
을 사용할 수 있습니다, N 요소와 벡터의 벡터를 선언하는 대부분의 아마도 당신은 필요하지 않을 것입니다! 대신 std::array
을 사용하십시오.
하지만 여전히 하나를 가지고 주장 ..
vector<vector<int> > vecOfVec(NumberOfVectors);
for (int i = 0 ; i < NumberOfVectors; i++)
vecOfVec[i].resize(NumberOfElementsInVector);
는 "고정 된 크기의 벡터"는'표준 : vector'해야합니까? –
std :: array 사용 –
Ben
http://www.boost.org/doc/libs/1_55_0/libs/multi_array/doc/user.html – oakad