2017-03-13 27 views
-1

我想我的問題是代碼更好地說明,是否有可能做這樣的事情: C# SetSomeMember(Console.ReadLine()) 或 的Java SetSomeMember(sc.nextLine())是否有可能內聯通過輸入作爲一個參數

在C++?例如: SetSomeMember(std::cin)

+0

是,'getline'使用了例如方法:http://en.cppreference.com/w/cpp/string/basic_string/getline –

回答

0

如果你想快速獲得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); 
+0

完美,乾杯! –

相關問題