这是代码:
// pointers to structures
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
struct movies_t {
string title;
int year;
};
int main ()
{
string mystr;
movies_t amovie;
movies_t * pmovie;
pmovie = &amovie;
cout << "Enter title: ";
getline (cin, pmovie->title);
cout << "Enter year: ";
getline (cin, mystr);
(stringstream) mystr >> pmovie->year;
cout << "\nYou have entered:\n";
cout << pmovie->title;
cout << " (" << pmovie->year << ")\n";
return 0;
}
取自http://www.cplusplus.com/doc/tutorial/structures/。我希望我能澄清一些事情。
它是什么
getline
以及它是如何工作的?我尝试查找文档,但我仍然无法理解。此外,究竟是什么cin
以及它是如何使用的getline
?如果我理解正确,
pmovie->title
基本上是说pmovie
指向title
对象的成员amovie
?如果是这样,并且从对#1的解释中还不清楚,它是如何getline (cin, pmovie->title)
工作的?现在这
(stringstream) mystr >> pmovie->year
给我带来了最大的麻烦。什么是 astringstream
,例如,我们是否像将 double 转换为 int 一样使用它?
谢谢你们!