我怎样才能让cout更快?
有什么办法可以让它运行得更快并且仍然做同样的事情吗?
#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:DEV C++ ||操作系统:Windows
Is there any way to make this run faster and still do the same thing?
#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: DEV C++ || OS: Windows
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
正如 Marc B 在评论中所说,首先将输出放入字符串应该更快:
As Marc B said in the comments, putting the output into a string first should be faster:
显而易见的解决方案是以不同方式声明
box
数组:然后您可以一次
cout
一行。如果您出于某种原因无法执行此操作,则无需在此处使用 std::string ——char
数组更快:The obvious solution is to declare the
box
array differently:Then you can
cout
a row at a time. If you can't do this for whatever reason, then there's no need to use std::string here -- achar
array is faster:当然,使用
stdio.h
中的putchar
。Sure, use
putchar
fromstdio.h
.