我有一个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
是否正确使用了关键字。谢谢!