작은 3D 엔진에서 작업 중이며 조명, 재료 등을 액세스 할 때마다 내 전체 계층 구조 (모델, 조명)를 반복하지 않도록하는 방법을 궁금합니다.포함 된 유형에 따라 벡터 벡터 검색
모든 목록, 자료에 대한 포인터 목록 또는 조명에 대한 포인터 목록, 유형 목록을 유지하면서 싱글 톤 DataProvider를 만들기로 결정했습니다.
그러나 코드가 너무 복잡해서 새로운 목록을 추가해야 할 때마다 클래스 속성에 코드를 추가해야합니다.
class DataProvider
{
public:
using DataListContainer = std::vector<std::vector<boost::any>>;
...
private:
DataListContainer data_;
I가 주어진 유형에 따라 내부 벡터를 얻을 수 있습니다 자백 하셨나하고 문제 :
는 드디어 뭔가를하기로 결정? 여기의 모든 과정은 지저분 해 보입니다. 이 외에도 boost::any
유형을 사용하면 내부 벡터 내부의 유형이 고유하다는 것을 실제로 보장 할 수 없으며 혼합 될 수 있습니다. 벡터 벡터를 저장하는 적절한 방법은 무엇입니까? 내부 벡터를 저장하는 유형에 따라 검색하는 방법은 무엇입니까?
을 https://bannalia.blogspot.de/2014/05 /fast-polymorphic-collections.html). – nwp
@nwp : 단 하나의 유형의 컨테이너 만 허용합니다 (예에서 'T'가 일부 복합체가 아니면). 그것은 OP가 '튜플 (tuple)'과 같은 이기종 컨테이너를 원한다는 것을 나타냅니다. – AndyG
@AndyG 그것은 여러 유형을 허용합니다. – nwp