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