C ++ cin输入直接存储通过引用变量传递 - 危险吗?

时间:2014-07-13 02:26:20

标签: c++ security reference

将cin输入直接分配给通过引用传递的double变量是否危险?如果是这样的话,我可以采取什么措施来防范危险的投入 - 除了不参考。

以下示例:

void samplefunction(double &var1, double &var2)
{
    cout << "Enter something: ";
    cin >> var1;
    cout << endl;
    cout << "Enter something: ";
    cin >> var2;
}

1 个答案:

答案 0 :(得分:2)

简短的回答,不是,因为cin&gt;&gt;运算符只会读取填充类型所需的数据。其余的被丢弃,直到下一个空格。您可能无法获得正确的值,例如,如果有人输入了&#34; ABCDEF&#34;而不是&#34; 1.0,&#34;但你不必担心缓冲区溢出。