Как прочитать обширный файл без исключения памяти?
У меня есть конструктор для генерации разреженной матрицы после чтения файла. Метод работает правильно, если результирующая разреженная матрица не велика. Тем не менее, я хочу прочитать большой файл (около 500.000 строк). Как прочитать обширный файл без исключения памяти? Матрица, которую она объявляет этой формы: vector<vector<int>> matrix;
MatriuSparse::MatriuSparse(const string nomFitxer) {
fstream fitxer;
fitxer.open(nomFitxer);
int m_col;
int m_row;
int dimension = m_Nlinies;
while (!fitxer.eof())
{
fitxer >> m_row >> m_col;
if (dimension <= m_row|| dimension <= m_col) {
if (m_col < m_row) {
dimension = m_row;
dimension++;
}
if (m_row < m_col) {
dimension = m_col;
dimension++;
}
matrix.resize(dimension);
for (int i = 0; i < dimension; i++) {
matrix[i].resize(dimension);
}
matrix[m_row][m_col] = 1;
}
matrix[m_row][m_col] = 1;
}
m_Nlinies = dimension;
m_Ncol = m_Nlinies;
fitxer.close();
}