4

我有一个foo()声明 astd::vector并使用它的函数,例如:

int foo(int n, ... other args)
{
  vector<int> myVett(n);

  // foo is used for computation
}

main()foo()多次调用:

int main()
{
  //...

  for(int ii = 0; ii < 1e3; ii++)
      foo(n, ...)

  //...

 }

我想foo()避免在循环myVett的每次迭代中分配内存for()

myVett我可以为in分配内存main(),然后将其传递给foo(),但我想避免这种情况(因为在我的真实示例中,我有几个向量myVett1myVett2等。我不想将它们中的每一个传递给foo())。

目前我声明myVettfoo()static

static vector<int> myVett(n);

这会做这项工作吗?该应用程序似乎运行得更快一些,但我不确定我static是否正确使用了关键字。谢谢!

4

0 回答 0