我在尝试找出如何std::cin >>
与字符串结合方面遇到了一些麻烦,其中字符串位于结构内部,就像这样。
#include <iostream> // for cout and cin
#include <string> // for string
struct Example
{
std::string SomeString;
};
int main()
{
std::cin >> Example.SomeString; // ERROR!
}
首先,您必须定义要读取数据的结构类型的对象。例如
#include <iostream> // for cout and cin
#include <string> // for string
struct Example
{
std::string SomeString;
};
int main()
{
Example e;
std::cin >> e.SomeString;
}
如果将数据成员定义为静态,则语法将如下所示:
#include <iostream> // for cout and cin
#include <string> // for string
struct Example
{
static std::string SomeString;
};
std::string Example::SomeString;
int main()
{
std::cin >> Example::SomeString;
}
这是一个结合了前两个示例。
#include <iostream> // for cout and cin
#include <string> // for string
struct Example
{
std::string SomeString;
static std::string OtherString;
};
std::string Example::OtherString;
int main()
{
Example e1;
std::cin >> e1.SomeString;
Example *e2 = &e1;
std::cin >> e2->SomeString;
std::cin >> Example::OtherString;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句