C++ 如何将结构推回到向量中

C++ 如何将结构推回到向量中,c++,C++,我试图将结构推回到向量中来存储数据,但在如何准确地实现这一点上遇到了困难。这就是我目前拥有的。您只需要创建一个结构变量;为其设置属性;然后将该结构推到向量 在C++中,用电影AMOVIY声明结构变量;这已经足够好了。不需要struct Movie aMovie 您只需要创建一个结构变量;为其设置属性;然后将该结构推到向量 在C++中,用电影AMOVIY声明结构变量;这已经足够好了。不需要struct Movie aMovie 您需要制作电影对象,如movie firstMovie。然后在firs

我试图将结构推回到向量中来存储数据,但在如何准确地实现这一点上遇到了困难。这就是我目前拥有的。

您只需要创建一个结构变量;为其设置属性;然后将该结构推到向量

在C++中,用电影AMOVIY声明结构变量;这已经足够好了。不需要struct Movie aMovie


您只需要创建一个结构变量;为其设置属性;然后将该结构推到向量

在C++中,用电影AMOVIY声明结构变量;这已经足够好了。不需要struct Movie aMovie


您需要制作电影对象,如movie firstMovie。然后在firstMovie中获取struct中所有内容的信息,然后推导出。记住,你的向量可以接受多种类型的电影,但这并不意味着你已经创建了电影的对象..离题:你看起来处于一种超越了临时需要的状态,几乎完全按照你用push_-back尝试过的方法来做。@OmidCompSCI push_-back应该按原样工作,请参见,因为Movie是一个函数,可以使用大括号进行初始化。基本上,编译器可以将{…}转换为电影{…}。@user4581301,emplace_back至少在默认分配器中使用括号,因此它无法处理给定的代码。那么这段代码有什么问题?你怎么知道它不工作?你需要制作一个电影对象,比如电影第一部电影。然后在firstMovie中获取struct中所有内容的信息,然后推导出。记住,你的向量可以接受多种类型的电影,但这并不意味着你已经创建了电影的对象..离题:你看起来处于一种超越了临时需要的状态,几乎完全按照你用push_-back尝试过的方法来做。@OmidCompSCI push_-back应该按原样工作,请参见,因为Movie是一个函数,可以使用大括号进行初始化。基本上,编译器可以将{…}转换为电影{…}。@user4581301,emplace_back至少在默认分配器中使用括号,因此它无法处理给定的代码。那么这段代码有什么问题?你怎么知道它不起作用?为什么要用struct-Movie;?这并不可怕。我添加了一个注释。如果我更改代码,注释对以后的读者有意义吗?为什么是struct Movie aMovie;?这并不可怕。我添加了一个注释。如果我更改代码,注释对以后的读者有意义吗?
using namespace std;
struct Movie {
    string title;
    string director;
    string genre;
    string yearRelease;
    string duration;
};
int main(){
    cout << "Hi";
    ifstream fin;
    string line;

    vector <Movie> m;
    fin.open("Movie_entries.txt");
    while (getline(fin, line)) {
        cout << line << endl;
        stringstream lineStream(line);
        getline(lineStream, m.title, ',');
        getline(lineStream, m.director, ',');
        getline(lineStream, m.genre, ',');
        getline(lineStream, m.yearRelease, ',');
        getline(lineStream, m.duration, ',');
        m.push_back({title, director, genre, yearRelease, duration});
    }
}
using namespace std;
    struct Movie {
        string title;
        string director;
        string genre;
        string yearRelease;
        string duration;
    };
int main(){
    cout << "Hi";
    ifstream fin;
    string line;

    vector <Movie> m;
    fin.open("Movie_entries.txt");
    while (getline(fin, line)) {
        cout << line << endl;
        stringstream lineStream(line);
        struct Movie aMovie;
        getline(lineStream, aMovie.title, ',');
        getline(lineStream, aMovie.director, ',');
        getline(lineStream, aMovie.genre, ',');
        getline(lineStream, aMovie.yearRelease, ',');
        getline(lineStream, aMovie.duration, ',');
        m.push_back(aMovie);
    }
}