将cin输入直接分配给通过引用传递的double变量是否危险?如果是这样的话,我可以采取什么措施来防范危险的投入 - 除了不参考。
以下示例:
void samplefunction(double &var1, double &var2)
{
cout << "Enter something: ";
cin >> var1;
cout << endl;
cout << "Enter something: ";
cin >> var2;
}
答案 0 :(得分:2)
简短的回答,不是,因为cin&gt;&gt;运算符只会读取填充类型所需的数据。其余的被丢弃,直到下一个空格。您可能无法获得正确的值,例如,如果有人输入了&#34; ABCDEF&#34;而不是&#34; 1.0,&#34;但你不必担心缓冲区溢出。