2011-08-02 4 views

답변

7

어떤 컨테이너를 사용하든 문제가되지 않는다고 생각합니다. 당신은

void func(std::vector<std::vector<int> > const& int_matrix); 

처럼 또는 그것을 할 수있는 C++ (11), 연속 > '>>'로 간주되지 않습니다 당신은 또한

void func(std::vector<std::vector<int>> const& int_matrix); 

를 사용할 수 있습니다 그러나 경우 문제는, 귀하의 작업이 소스 코드 대신 바이너리로 게시되면 인터페이스의 사용자는 자신과 동일한 STL을 구현해야합니다. 그렇지 않으면 이상한 런타임 오류가 발생할 수 있습니다. 이 상황에서는 인터페이스가 적절하지 않으므로 STL 컨테이너를 사용하십시오. 매개 변수의 유형으로 일부 구조를 직접 정의해야합니다.

+0

나는 그, 좋은 대답, +1 생각하지 못했습니다. –

+0

std :: vector 주위의 간단한 래퍼 클래스가 후자의 문제를 해결하기에 충분합니까? –

+0

불행히도, 나는 그렇게 생각하지 않습니다. – neuront

2

벡터 벡터는 반드시 나쁜 것은 아닙니다. 다차원 배열과 같은 것이 필요할 경우, 필요한 것을 필요로합니다. (그냥 [const] 참조로 벡터를 전달했는지 확인하십시오).

당신은 제목이 말한다 있기 때문에,하지만 귀하의 질문의 제목을 변경할 수 있습니다

"벡터 < T>"(대담 그것이 HTML 태그라고 생각하기 때문에)하지만 문제는 벡터의 벡터에 대해 묻습니다.

-1

IMO 가능한 경우 모든 vector을 하나의 vector으로 병합하는 것이 좋습니다. vectorvector 인 것은 나에게별로 의미가 없습니다.

관련 문제