【发布时间】:2015-07-30 13:36:36
【问题描述】:
我想知道是否有可能在运行时声明数组大小而不使用 new 关键字。
struct myKernel
{
uint8_t **var;
myKernel(){}
myKernel(const int number = 2)
{
//I want to do something like
//var = new int*[number]; but not allocate it on the heap
*var = a[number];
}
void operator()
{
//do stuff here with the var array
}
};
【问题讨论】:
-
好吧,如果不在堆上,还有哪里?
-
“静态”是什么意思?
var不是static这里。此外,您应该使用std::vector<uint8_t*>,或者使用var = new uint_8*[number]在堆上手动分配内存(如果静态是指“在堆栈上”,我不确定VLA 是否是标准C++ 正是因为@987654326 @ 我也不确定number是否很大)。 -
我虽然是在栈上分配的,解决方法是使用模板,一开始我没有想到,所以抱歉我还在学习,我会发布代码它....谢谢你
标签: c++ visual-studio functor