玩竞赛的同学应该发现了C++中直接调用cout、cin的效率要比printf和scanf的效率要低。
要解决这个问题,只需要在前面加上一句
std::ios::sync_with_stdio(false);
即可。
这是因为cout、cin要先把要输出的东西存入缓冲区,再输出,导致效率降低,而这段语句可以来打消iostream的输入输出缓存,可以节省时间,使效率与scanf与printf差不多。
但是cout、cin使用缓存区一定是有它的道理的,然而这我现在还不知道有啥道理。
2022-07-18 16:45:29
玩竞赛的同学应该发现了C++中直接调用cout、cin的效率要比printf和scanf的效率要低。
要解决这个问题,只需要在前面加上一句
std::ios::sync_with_stdio(false);
即可。
这是因为cout、cin要先把要输出的东西存入缓冲区,再输出,导致效率降低,而这段语句可以来打消iostream的输入输出缓存,可以节省时间,使效率与scanf与printf差不多。
但是cout、cin使用缓存区一定是有它的道理的,然而这我现在还不知道有啥道理。