我正在用 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/