【发布时间】:2017-04-24 00:51:51
【问题描述】:
我使用列中的数据处理一些数据,例如,
1 -0.004002415458937208 0.0035676328502415523
2 -0.004002415796209478 0.0035676331876702957
....
我只对最后两个值感兴趣。我通常发现将值读取为:
std::ifstream file(file_name);
double a, b;
for (lines) {
// | throwing away the first value by reading it to `a`
file >> a >> a >> b;
store(a, b);
}
我不确定这对其他人的可读性如何,当数据结构未知时,它可能被认为是错误。 我能否以某种方式让它看起来更明确,我真的想丢弃第一个读取值?
我想要这行中的一些东西,但没有任何效果:
file >> double() >> a >> b; // I hoped I could create some r-value kind of thing and discard the data in there
file >> NULL >> a >> b;
【问题讨论】:
-
_是一个有效的标识符,我之前已经看到它被用于具有未使用内容的变量。其他名称:discarded、ignored、consumed、unused、destroyer_of_hope(好吧,不是最后一个) -
我命名了一个名为eater的变量,它会吃掉不需要的输入。
-
我在想为它创建一个变量是多余的,之后不使用它会产生一个警告(我意识到它没有)。这可能是一个不错的解决方法。
-
如果你从文件中读取,为什么你说“来自 std::cin”?
-
file >> junk >>...会工作。这就是我丢弃输入的方法。
标签: c++ input inputstream cin istream