2017-03-13 15 views
-1

は、私は私の質問は、より良いコードを示していると考えるのパラメータとして入力を渡すインライン化することは可能ですか?何かのように: SetSomeMember(std::cin) ?次のようにそれはそれは、このような何かを行うことが可能である、

template <typename T> 
T get_from_cin() 
{ 
    T result; 
    std::cin >> result; 
    return result; 
} 

あなたはそれを使用することができます:あなたはすばやく簡単なヘルパー関数を作成することができますstd::cinからタイプTの値を取得したい場合は

+0

はい、 'getline'は、例えば、そのメソッドを使用しています。http://en.cppreference.com/w/cpp/string/basic_string/getline –

答えて

0

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

パーフェクト、歓声! –

関連する問題