-1
我想我的問題是代碼更好地說明,是否有可能做這樣的事情: C# SetSomeMember(Console.ReadLine())
或 的Java SetSomeMember(sc.nextLine())
是否有可能內聯通過輸入作爲一個參數
在C++?例如: SetSomeMember(std::cin)
?
我想我的問題是代碼更好地說明,是否有可能做這樣的事情: C# SetSomeMember(Console.ReadLine())
或 的Java SetSomeMember(sc.nextLine())
是否有可能內聯通過輸入作爲一個參數
在C++?例如: SetSomeMember(std::cin)
?
如果你想快速獲得T
型從std::cin
一個值,你可以創建一個簡單的輔助功能:
template <typename T>
T get_from_cin()
{
T result;
std::cin >> result;
return result;
}
然後,您可以使用它,如下所示:
struct foo
{
void setSomeMember(int);
};
int main()
{
foo f;
f.setSomeMember(get_from_cin<int>());
}
如果您不想將整行作爲std::string
,請查看std::getline
。
用法:
std::string temp;
std::getline(std::cin, temp);
whatever.setSomeMember(temp);
完美,乾杯! –
是,'getline'使用了例如方法:http://en.cppreference.com/w/cpp/string/basic_string/getline –