2172得票10回答
为什么在C++中从stdin读取行比Python慢得多?

我想比较使用Python和C ++从标准输入读取字符串输入行的情况,并震惊地发现我的C ++代码运行速度比等效的Python代码慢了一个数量级。由于我的C ++有点生疏,而且我还不是专家级的Pythonista,请告诉我是否做错了什么或者是否存在误解。 (TLDR答案:包括语句:cin.sy...

707得票11回答
"std::endl"与"\n"的区别

许多C++书籍都包含像这样的示例代码... std::cout << "Test line" << std::endl; ...所以我一直都是这样做的。但我看到很多工作开发人员的代码却是这样的: std::cout << "Test line\n";...

686得票5回答
为什么在循环条件中使用iostream::eof(例如`while (!stream.eof())`)被认为是错误的?

我刚在这个回答中发现一条评论,称在循环条件中使用iostream::eof几乎肯定是错误的。我通常使用类似于while(cin>>n)的方式来读取输入,并且这种方式隐式地检查了EOF。 为什么明确检查EOF时使用while (!cin.eof())是错误的呢?它与在C语言中使用s...

516得票16回答
446得票16回答
如何使用cout输出完整精度的浮点数?

在我的之前的问题中,我使用cout打印了一个double,但结果被四舍五入了,而我并不希望它这样。如何让cout以完整精度打印一个double?

308得票13回答
如何使用cout打印二进制格式的数字?

我正在学习一门关于操作系统的大学课程,我们正在学习如何将二进制转换为十六进制、十进制转换为十六进制等,今天我们刚刚学习了如何使用二进制补码(~number + 1)在内存中存储带符号/无符号数。 我们有几个练习题需要手写计算,但在提交作业给老师之前我想要验证我的答案是否正确。我已经用C++编写...

283得票6回答
如何正确地为 ostream 重载 << 运算符?

我正在用C++编写一个用于矩阵操作的小型矩阵库。然而,我的编译器报错了,而之前却没有。这段代码已经放在书架上六个月了,在此期间我将电脑从Debian 4.0(Etch)升级到了Debian 5.0(Lenny)(g++(Debian 4.3.2-1.1)4.3.2)。然而,在一个使用相同g++...

213得票20回答
你能解释一下流的概念吗?

我理解流是字节序列的表示方式。每个流提供了读写字节到其给定后备存储的方法。但是,流的目的是什么?为什么不直接和后备存储互动呢? 出于某种原因,这个概念对我来说并没有完全理解。我已经阅读了很多文章,但我认为我需要一个比喻或类似的东西。

212得票4回答
C++标准是否规定iostreams性能差,还是我只是在处理性能差的实现?

每次我提到C++标准库iostream的性能较慢时,都会遭到怀疑的浪潮。然而,我有分析器结果显示iostream库代码花费了大量时间(完整编译器优化),并且从iostreams切换到特定于操作系统的I/O API和自定义缓冲区管理确实可以提高一个数量级。 C++标准库做了哪些额外的工作?它是...

147得票5回答
为什么std::getline()在格式化提取后跳过输入?

我有以下一段代码,用于提示用户输入他们猫的年龄和名字: #include &lt;iostream&gt; #include &lt;string&gt; int main() { int age; std::string name; std::cin &gt;&...