C++에서 std::vector<std::pair<int, int>> 를 배열로 변환할 수 있을까요?


제목 그대로, pair 값을 가지는 vector를 배열로 저장하고 싶은데, 가능한가요?

  • 2016년 05월 14일에 작성됨
    검색엔진과 A.I에 관심을 두고 있습니다.

조회수 433


1 답변


좋아요
-1
싫어요
채택취소하기

pair의 first와 second를 unsigned char[2]로 변환해서 사용하면 이렇게 쓸 수 있습니다.

#include <iostream>
#include <vector>

unsigned char** convert(std::vector<std::pair<int,int>> vector_pair){
  int n = vector_pair.size();
  unsigned char** ret = new unsigned char*[n];


  for(int i=0; i < n ;i++){
    ret[i] = new unsigned char[2];
    ret[i][0] = (unsigned char)vector_pair[i].first;
    ret[i][1] = (unsigned char)vector_pair[i].second;
  } 

  return ret;
}


int main()
{
  std::vector<std::pair<int,int>> vector_pair
  {
    {1, 2},
    {3, 4},
    {5, 6}
  };  
  unsigned char** converted = convert(vector_pair);
}
  • 2016년 05월 14일에 작성됨
    루비와 파이썬을 좋아합니다. 새로운 언어를 배우는것도 좋아해요. 모바일 게임도 조금 만들어 봤습니다.

  • 고맙습니다.    Chocolate   2016.5.15 15:29     

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

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