Запоминание вектора указателей на элементы вектора вектора целых - PullRequest
0 голосов
/ 19 мая 2018

Если я скажу std::vector<std::vector<int>> test_vofv, хранящий вектор векторов целых.

Теперь я хочу сохранить указатели на различные элементы (под этим я подразумеваю внешний вектор, то есть test_vofv[0], test_vofv[1])в отдельном векторе то есть std::vector<pointer> vector_of_pointers.

Каким должен быть тип "указатель"?Установка std::vector<std::vector<int>>* неверна.

1 Ответ

0 голосов
/ 20 мая 2018

Установка в std::vector<std::vector<int>>* неверна, потому что это будет объявление указателя на вектор векторов целых чисел.Типы указателей читаются справа налево.

То, что вы хотите, это вектор указателей.Это означает объявление типа std::vector<something*>, где вы хотите указать что-то.В вашем случае вектор указателей на векторы целых чисел равен std::vector<std::vector<int>*> vector_of_pointers.Сначала вы читаете внешний вектор, затем указатель внутри, а затем все, на что указывает указатель.

...