ID (정수) 목록이 있습니다. 내 응용 프로그램을 쉽게 처리 할 수 있도록 그들은 (이런 종류의 내 응용 프로그램에서 정말 중요하다) C++ 인덱스 - 인덱스 맵
9382
297832
92
83723
173934
예를
를 들어, 정말 효율적인 방법으로 정렬됩니다.이제 다른 벡터에서 특정 값의 ID에 액세스해야하는 문제에 직면하고 있습니다.
예를 들어 ID 9382의 특정 값은 someVectorB [30]에 있습니다. 나는 그러나
const int UNITS_MAX_SIZE = 400000;
class clsUnitsUnitIDToArrayIndex : public CBaseStructure
{
private:
int m_content[UNITS_MAX_SIZE];
long m_size;
protected:
void ProcessTxtLine(string line);
public:
clsUnitsUnitIDToArrayIndex();
int *Content();
long Size();
};
을 사용하고있다
지금은 400.000에 UNITS_MAX_SIZE 살리신 것을, 나는 페이지 스택 오류를 얻을, 그리고 내가 뭔가 잘못하고있는 중이 야 하더군요. 나는 전체 접근법이 정말로 좋지 않다고 생각한다.
"위치"가 다른 경우 다른 벡터에서 ID를 찾으려면 어떻게해야합니까?
ps : 파일에서 쉽게 읽을 수 있고 파일로 쉽게 serialize 할 수있는 간단한 것을 찾고 있습니다. 그래서 전에이 무차별 대입 방식을 사용 해왔다.
당신이 사용을 고려 셨나요 표준 : : 벡터 또는 표준 : 맵을 사용하여, 당신은 또한 당신의
clsUnitsUnitIDToArrayIndex
을 파괴하면서 자원을 해제 기억해야하지만, 권장 사용량이 다른 회원들에 의해 제안으로'표준 : :지도 '? –
현재 m_content 배열이 즉각적인 오류를 일으킬 스택의 크기를 초과하면 나는 놀라지 않을 것입니다. 관계없이이 접근 방식은 꺼져 있습니다. 어떤 문제를 해결하려고합니까? –
특정 ID가 벡터의 어느 위치에 있는지 알려주는 목록을 보관하고 싶습니다. – tmighty