在结构中使用 c++ 样式字符串时,cin >> 的正确语法是什么?
What is the correct syntax for cin >> when using c++ style strings inside structures?
我在尝试找出如何将 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;
}
我在尝试找出如何将 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;
}