저는 C++을 처음 접했고 클래스를 작성하는 동안 제 방법 중 하나가 vector-of-vectors를 요구하고 있음을 깨달았습니다. 이 작업을 수행해야합니까, 아니면 수업의 인터페이스를 다시 생각해야합니까? (어떻게?)예 : 벡터 <t>의 내 공용 인터페이스를 사용하십니까?
5
A
답변
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 컨테이너를 사용하십시오. 매개 변수의 유형으로 일부 구조를 직접 정의해야합니다.
2
벡터 벡터는 반드시 나쁜 것은 아닙니다. 다차원 배열과 같은 것이 필요할 경우, 필요한 것을 필요로합니다. (그냥 [const] 참조로 벡터를 전달했는지 확인하십시오).
당신은 제목이 말한다 있기 때문에,하지만 귀하의 질문의 제목을 변경할 수 있습니다"벡터 < T>"(대담 그것이 HTML 태그라고 생각하기 때문에)하지만 문제는 벡터의 벡터에 대해 묻습니다.
-1
IMO 가능한 경우 모든 vector
을 하나의 vector
으로 병합하는 것이 좋습니다. vector
이 vector
인 것은 나에게별로 의미가 없습니다.
관련 문제
- 1. C++의 벡터 문제
- 2. C++의 벡터 집합
- 3. 누구나 xui를 사용하십니까? JavaFX?
- 4. MPI (C++)의 벡터 사용
- 5. 컬의 출력을 벡터 <string>의 C++
- 6. C++의 벡터 선언 유형
- 7. C#의 DES 초기화 벡터
- 8. C#의 DES 초기화 벡터
- 9. 왜 인터페이스를 반환합니까? IEnumerable, IList - 리팩터링 예
- 10. 다중 상속과 관련된 인터페이스를 사용하는 실제 예
- 11. jaxb 플러그인을 사용하십니까?
- 12. 의 글꼴 유형 <c:out>의 JSP 내
- 13. OO : 벡터 <fruit>
- 14. 벡터 만들기 <MyClass>
- 15. 벡터. <> vs 배열
- 16. 벡터 실행시 벡터 반복자에서 벡터 참조자를 벡터에서 제외 할 수 없음 <vector <vector<A*> *> *>
- 17. [NSDictionary getObjects : andKeys :]의 예
- 18. Java2C# 변환 : C#의 인터페이스에있는 공용 메소드
- 19. 버전 관리에 공용/자산을 추가합니까?
- 20. 새로운 CodeIgniter PHP 사이트에서 맞춤 블로그 또는 미리 작성된 블로그 (예 : WordPress MU)를 사용하십니까?
- 21. 압축률 예 내 알고리즘 교과서에서
- 22. Java : 내 인터페이스를 준수하는 외부 클래스 사용
- 23. C++의 벡터 배열에 가장 적합한 라이브러리
- 24. C++의 포인터 대 벡터 삭제하기
- 25. jdoubleArray와 벡터 <double> 사이를 C++의 Java Native (JNI) 메소드로 변환
- 26. "<script src ="의 상대성
- 27. 응용 프로그램 프로토콜의 "개체 사전"의 예
- 28. 일반 DataReader 코드 (.net)의 예
- 29. C++ 벡터 <T> :: iterator 연산자 +
- 30. 벡터 <T> :: iterator - invalid?
나는 그, 좋은 대답, +1 생각하지 못했습니다. –
std :: vector 주위의 간단한 래퍼 클래스가 후자의 문제를 해결하기에 충분합니까? –
불행히도, 나는 그렇게 생각하지 않습니다. – neuront