2015-05-01 2 views
-2

Это для таблицы хеш-таблицы, поэтому мне нужно будет иметь возможность добавлять записи в векторы. Кроме того, как мне получить доступ к записям в этом формате?Как динамически выделять массив векторов с помощью «new» в C++?

+0

Вопросы о проблемах домашнего задания должны показать, что усилия, которые вы сделали до сих пор в их решении и конкретно описать, где вы застряли, чтобы быть на топике Переполнение стека. Изучение этих тем - важная часть обучения программированию. – seaotternerd

+0

Спасибо @seaotternerd. На этот раз все, что мне было нужно, это всего лишь код для выделения массива, но я обязательно буду учитывать это в будущем. – UBears

ответ

2

Таким же образом вы бы динамически выделять массив что-нибудь еще:

std::vector<T>* array = new std::vector<T>[42]; 

Хотя это намного проще просто использовать vector из vector с вместо:

std::vector<std::vector<T> > array(42); 
0

Массив может быть создан как упоминал Барри. Вы можете получить доступ к информации таким же образом, как и любой другой:

std::vector<int>* numbers = new std::vector<int>[5]; // 5 vectors of ints 
// iterate through all elements 
for (int i = 0; i < 5; ++i) 
{ 
    numbers[i].push_back(i * 2); 
    cout << numbers[i][0] << endl; 
    //    *^
    // * = array index 
    //^= vector index 
} 
Смежные вопросы