ostringstream 内存不断增加

C++语言 码拜 10年前 (2015-05-11) 901次浏览 0个评论

当持续调用函数rinexSatLine时,程序的内存不断增加,请大家指点一下!

rinexSatLine(const t_obs& obs, char lli1, char lli2, 
                              char lli5) {
  ostringstream str;
  str.setf(ios::showpoint | ios::fixed);

  if (_header._version >= 3.0) {
    str << obs.satSys 
        << setw(2) << setfill(""0"") << obs.satNum << setfill("" "");
  }

  const QVector<QString>& types = (_header._version > 3.0) ?
                          _header._obsTypesV3[obs.satSys] : _header._obsTypesV2;
  for (int ii = 0; ii < types.size(); ii++) {
    if (_header._version < 3.0 && ii > 0 && ii % 5 == 0) {
      str << endl;
    }
    double value = obs.measdata(types[ii], _header._version);
    str << setw(14) << setprecision(3) << value;
    if      (value != 0.0 && types[ii].indexOf("L1") == 0) {
      str << lli1 << "" "";
    }
    else if (value != 0.0 && types[ii].indexOf("L2") == 0) {
      str << lli2 << "" "";
    }
    else if (value != 0.0 && types[ii].indexOf("L5") == 0) {
      str << lli5 << "" "";
    }
    else {
      str << "  ";
    }
  }

  return str.str();
}
25分
函数返回类型呢?
25分
stream 的使用,没看出啥问题啊。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明ostringstream 内存不断增加
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!