C++输入输出的优化
程序员文章站
2022-06-22 21:29:56
有关输入输出的优化cin和cout是很方便的输入输出方式,比起scanf和printf,cin cout完全不需要关心变量的类型问题,反之对于string的读入,如果使用scanf还需要先规定好这个string的大小。但在某些特定情况下,如题目的数据量比较大,而算法的复杂度没办法进行更好的优化的时候,就只能把目光转向输入输出了。在带来方便的同时,cin和cout的耗时是很显然比scanf和printf要高的。在优化的时候我们有几种选择:关闭同步/解除绑定ios::sync_with_stdi...
有关输入输出的优化
cin和cout是很方便的输入输出方式,比起scanf和printf,cin cout完全不需要关心变量的类型问题,反之对于string的读入,如果使用scanf还需要先规定好这个string的大小。
但在某些特定情况下,如题目的数据量比较大,而算法的复杂度没办法进行更好的优化的时候,就只能把目光转向输入输出了。
在带来方便的同时,cin和cout的耗时是很显然比scanf和printf要高的。
在优化的时候我们有几种选择:
-
关闭同步/解除绑定
ios::sync_with_stdio(false);
-
使用scanf和printf
-
使用getchar()
int read() { int x = 0, w = 1; char ch = 0; while (!isdigit(ch)) { // ch 不是数字时 if (ch == '-') w = -1; // 判断是否为负 ch = getchar(); // 继续读入 } while (isdigit(ch)) { // ch 是数字时 x = x * 10 + (ch - '0'); // 将新读入的数字加在 x 的后面 ch = getchar(); // 继续读入 } return x * w; // 别忘了正负号 }
本文地址:https://blog.csdn.net/qq_42681247/article/details/107525241
上一篇: 钉钉在家办公遇到问题的详细解决方案最总篇