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

조회수 15242회

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);
...

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]) );
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)