Я хочу создать метод, который использует std::vector
s для создания коллекции данных, затем выполняет некоторые операции с данными и, наконец, я хочу передать сгенерированную информацию через указатель данного аргумента, как показано в этом небольшом примере:
struct MyStruct
{
int* list;
int entry_count;
};
static MyStruct createList()
{
vector<int> vectorList;
MyStruct data;
vectorList.push_back(1);
vectorList.push_back(1);
vectorList.push_back(1);
vectorList.push_back(1);
vectorList.push_back(1);
data.list = &vectorList.front();
data.entry_count = vectorList.size();
return data;
}
int main(int argc, char** argv)
{
MyStruct data;
data = createList();
return 1;
}
Проблема в том, что после закрытия метода вектор уничтожается и указатель нигде не показывает.
Как я смогу решить эту проблему в правильный путь? Итак, как я могу назначить эту коллекцию указателю, не освобождая ее?