2013-01-13 4 views

답변

4
vector<int> v; 
copy(istream_iterator<int>(cin), istream_iterator<int>(), back_inserter(v)); 

아니면 벡터가 구축되는 시점에 그것을 할 수 있다면, 그것은 단지 한 줄의 (감사 @ 크리스하기) :

vector<int> v(istream_iterator<int>(cin), istream_iterator<int>()); 
+0

사본이 중복됩니다. iterators로 초기화하십시오. – chris

+0

이것은 기술적으로 배열이 아닙니다. –

+0

좋은 아이디어, 지금 업데이트했습니다. –

0

간단한은 이해하기가 back_inserter와 하나

std::vector<int> V; 
int Temp; 

while (cin >> Temp) 
    V.push_back(Temp); 

정적으로 할당 된 배열을 사용하고 있지 않습니다. 실제로 읽는 요소의 수를 지정하지 않았기 때문에이 경우 대체로 0123을 사용하는 것이 더 좋고 안전합니다..

+0

변수의 이름은 CAPS. 또한 OP가 반드시 '벡터'에 대해 묻지 않는 것 같아요. –

+0

* 변수의 이름은 CAPS로 시작하지 않아야합니다. * @Boris를 보여주십시오. 신뢰할 수있는 출처, 중괄호를 여는 것과 완전히 같습니다 ** 관례 ** ** –

+0

꽤 많은 정보원으로 여러분을 보낼 수 있습니다. 그러나 추가 질문 :'V '라는 클래스를 어떻게 구별합니까? 변수에서'Temp'를? sta를 호출하면 어떨까요? tic 방법? –

관련 문제