c++ - 我怎样才能使 cout 更快?

标签 c++ performance console-application cout dev-c++

有什么方法可以使它运行得更快并且仍然做同样的事情吗?

#include <iostream>

int box[80][20];

void drawbox()
{
    for(int y = 0; y < 20; y++)
    {
        for(int x = 0; x < 80; x++)
        {
            std::cout << char(box[x][y]);
        }
    }
}

int main(int argc, char* argv[])
{
    drawbox();
    return(0);
}

IDE:开发 C++ ||操作系统:Windows

最佳答案

正如 Marc B 在评论中所说,先将输出放入字符串应该更快:

int box[80][20];

void drawbox()
{
    std::string str = "";
    str.reserve(80 * 20);

    for(int y = 0; y < 20; y++)
    {
        for(int x = 0; x < 80; x++)
        {
            str += char(box[x][y]);
        }
    }

    std::cout << str << std::flush;
}

关于c++ - 我怎样才能使 cout 更快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4789346/

相关文章:

mysql - 使用 MySQL 在大表上运行更新非常慢

java - 用户输入处理模式

c++ - 混合部分模板特化和默认模板参数

c++ - 如何提高此 MFC 代码的性能?

c++ - 在 opencv 2.3 中从 RGB 图像中分离出红色分量图像

c# - 我可以在 switch 语句中使用变量吗?

.net - 如何确定程序终止后是否关闭DOS控制台

c++ - 使 C/C++ Eclipse 工作

c# - 为什么这个循环这么慢?

java - 如何在线性时间内使用自定义比较器构建优先队列