Пожалуйста, рассмотрите этот код. Я видел этот тип кода несколько раз. words
является локальным вектором. Как можно вернуть его из функции?
Можем ли мы гарантировать, что он не умрет?
std::vector<std::string> read_file(const std::string& path)
{
std::ifstream file("E:\\names.txt");
if (!file.is_open())
{
std::cerr << "Unable to open file" << "\n";
std::exit(-1);
}
std::vector<string> words;//this vector will be returned
std::string token;
while (std::getline(file, token, ','))
{
words.push_back(token);
}
return words;
}