I have been learning C++ and came across a function, but the return type was a vector.
Here is the code:
vector<Name> inputNames() {
    ifstream fin("names.txt");
    string word;
    vector<Name> namelist;
    while (!fin.eof()) {
        Name name;
        fin >> name.first_name;
        fin >> name.last_name;
        namelist.push_back(name);
    }
    return namelist;
}
name is part of a struct defined as:
struct Name {
    string first_name;
    string last_name;
    bool operator<(const Name& d) const {
        return last_name > d.last_name;
    }
    void display() {
        cout << first_name << " " << last_name << endl;
    }
};
What is the purpose of using vector< Name>inputName()? What is it doing?
And why can I just not create a void function and pass a vector through it?
I.e.:
void input(vector<Name>&v){
    ifstream fin("names.txt");
    string word;
    while (!fin.eof()) {
        Name name;
        fin >> name.first_name;
        fin >> name.last_name;
        v.push_back(name);
    }
}
 
     
     
     
    