vector를 초기화할 때 array 초기화하듯할 수 있나요?


int a[] = {1,2,3,4,5}; 이렇게 하듯이

std::vector<int> ints = <1,2,3,4,5>; 뭐 이런 식으로 할 수 있는 방법이 있을까요? 제가 아는 방법은 쓰기 귀찮아요 쉽고 직관적인 방법이 있으면 알려주세요

소스코드

std::vector<int> ints;

ints.push_back(1);
ints.push_back(2);
...
  • 2016년 01월 07일에 작성됨

조회수 427


1 답변


좋아요
0
싫어요
채택취소하기

컴파일러가 C++11을 지원한다면

std::vector<int> v = {1, 2, 3, 4, 5};

도 가능합니다. 단, GCC4.4 이상에서만 작동합니다

위의 방법이 안되시면 대안으로는 array를 이용해 vector를 초기화하는 방법이 있습니다. 다음과 같이 쓰시면 됩니다.

static const int arr[] = {16,2,77,29};
vector<int> vec (arr, arr + sizeof(arr) / sizeof(arr[0]) );
  • 2016년 01월 07일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close