在成员函数中将大向量声明为成员变量还是局部变量更好?

问题描述

假设我们需要处理一个大向量,它仅在成员函数内部使用。将其声明为成员函数以节省重新分配时间是否有任何优势?因为每次创建和销毁 10000 个整数?假设这是在关键任务嵌入式系统中运行的。并且该函数被重复调用!

class Foo {
  Foo() {
  
  }
  size_t update(int val) {
     vector<int> v(10000);
     for (int i = 0; i < 10000; ++i) {
        v[i] = i*i + val;
     }
     return compute(v);
  } 
  
};
class Foo {
  Foo() {
    v.resize(10000);
  }
  size_t update(int val) {
     for (int i = 0; i < 10000; ++i) {
        v[i] = i*i + val;
     } 
     return compute(v);
  } 
  private:
  vector<int> v; 
  
};

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)