C++에서 생성자의 매개변수로 다차원 배열을 크기정보 없이 전달할 수 있나요?

조회수 638회

생성자에 임의의 크기의 다차원 배열과 해당 배열의 크기 정보를 전달해서 해당 배열과 동일한 차원, 동일한 값을 가진 배열과 해당 배열의 크기 정보를 가지고 있는 인스턴스를 만들 수 있도록 클래스를 작성하려고 합니다.

int arr[2][2] = { {1,2}, {3,4} };

A a(arr, 2, 2);

간략하게는 위와 같이 입력을 받고 메소드에서 this->array this->row this->col 와 같은 방식으로 해당 값들을 참조하도록 하고 싶습니다.

지금까지 찾아본 바로는 생성자 정의 시에 배열의 크기에 대한 정보를 함께 정의하고 매개변수를 전달할 때 이를 함께 전달해야 하는 것으로 되어있던데, 매개변수로 전달할 다차원 배열의 크기가 매번 달라져도 문제없이 돌아가도록 만들고 싶어서 이렇게 작성할수는 없을 것 같습니다.

포인터를 이용해서 이 문제를 해결할 수는 없을까요?

  • 배열을 힙에 생성하고 포인터를 이용하면 될 것 같습니다. 정영훈 2019.12.24 19:28
  • 우선은 벡터를 사용하는 방식으로 문제를 해결했습니다. 그래도 가능하면 배열만으로 구현을 하고 싶어서, 벡터로 어느정도 구현이 완료된 후에 벡터를 말씀해주신 방법으로 대체하는 방법을 고민해 보도록 하겠습니다. 감사합니다 ㅎㅎ HIAOAIH 2019.12.27 16:48
  • c++에선 vector 사용을 더 권합니다. array 를 사용할 필요는 없습니다. 정영훈 2019.12.27 18:48

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

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

(ಠ_ಠ)
(ಠ‿ಠ)