c++ - 输出速度

标签 c++ output

我正在用 C++ 编写代码。 让我们成为一些字符串。我被要求确定以下哪个更快:

cout << "s:"  + s  + "s:"  + s  + " s:"  + s  + "\n";

cout << "s:" << s << "s:" << s << " s:" << s << "\n";

我反复运行它们两个,发现第二个更快。我花了一段时间试图找出原因。我认为这是因为在第一个中,字符串首先连接然后输出到屏幕。但是第二个只是直接输出到屏幕。对吗?

最佳答案

第一个可能涉及为字符串连接分配一些内存,然后将最终连接的字符串复制到输出缓冲区。第二个将简单地将已分配的字符串数据复制到已分配的输出缓冲区。

关于c++ - 输出速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13355051/

相关文章:

c++ - 声明已初始化的 C++ 静态变量(语法消歧)

C++ post 运算符导致内存泄漏

c++ - 如何避免cairo绘图xlib表面闪烁?

c++ - 声明普通类和类模板的静态数据成员

Java程序的大写/小写不起作用,请帮忙

powershell - 禁止来自非PowerShell命令的输出?

php - 将 MYSQL CSV 保存到服务器

c# - 如何像 DebugView 应用程序一样读取 c# Debug.WriteLine?

c++ - 将 protobuf 字节类型存储在二进制文件中

angular - 何时使用@ViewChild、@Input 和@Output?