Bitte beachten Sie diesen Code. Ich habe diese Art von Code mehrmals gesehen. words
ist ein lokaler Vektor. Wie ist es möglich, es von einer Funktion zurückzugeben?
Können wir garantieren, dass es nicht stirbt?
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;
}
std::vector<std::string>&