2017-03-13 25 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

完美,干杯! –

相关问题