我有一个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(),但我想避免这种情况(因为在我的真实示例中,我有几个向量myVett1、myVett2等。我不想将它们中的每一个传递给foo())。
目前我声明myVett为foo():static
static vector<int> myVett(n);
这会做这项工作吗?该应用程序似乎运行得更快一些,但我不确定我static是否正确使用了关键字。谢谢!