当前位置: 移动技术网 > 移动技术>移动开发>IOS > C++输入输出的优化

C++输入输出的优化

2020年07月23日  | 移动技术网移动技术  | 我要评论

有关输入输出的优化

cin和cout是很方便的输入输出方式,比起scanf和printf,cin cout完全不需要关心变量的类型问题,反之对于string的读入,如果使用scanf还需要先规定好这个string的大小。

但在某些特定情况下,如题目的数据量比较大,而算法的复杂度没办法进行更好的优化的时候,就只能把目光转向输入输出了。

在带来方便的同时,cin和cout的耗时是很显然比scanf和printf要高的。

在优化的时候我们有几种选择:

  1. 关闭同步/解除绑定

    ios::sync_with_stdio(false);
    
  2. 使用scanf和printf

  3. 使用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

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网