Предположим, что у нас есть набор двойных чисел в std::vector<double>
. Давайте назовем это data
. Теперь я хочу создать новый std :: vector, который состоит из (упорядоченного) подмножества data
с помощью метода subvector
, например. пусть data = [0,4,3,5,5,7]
и я хочу метод, который дает мне
std::vector<int> indices(3);
indices[0] = 1;
indices[1] = 2;
indices[2] = 4;
std::vector<double> subdata = data.subvector(indices);
и результат должен быть subdata = [4,3,5]
. Конечно, я могу добиться этого, просто скопировав значения data
, но что я действительно хочу, так это то, что если я изменю значения в subdata
, они также изменятся в data
, т.е. если я сделаю subdata[2]=-1
, то хочу это data = [0,4,3,5,-1,7]
.
Итак, я должен сделать что-то вроде «запоминания» указателя в data
. Я пробовал несколько вариантов с указанием &
и *
здесь и там, но я не смог получить желаемый результат.