我想做这个:
class Graphic
{
int *array;
Graphic( int size )
{
int temp_array[size];
array = temp_array;
glGenTextures( size, array );
}
}
Run Code Online (Sandbox Code Playgroud)
这会有用吗?即使它会,还有更好的方法吗?
谢谢.
使用new手段你必须记住delete []它; 使用编译器相关的可变大小数组意味着您失去了可移植性.
使用矢量要好得多.
#include <vector>
class Graphic
{
std::vector<int> array;
Graphic( int size )
{
array.resize(size);
glGenTextures( size, &array[0] );
}
}
Run Code Online (Sandbox Code Playgroud)
该语言保证向量元素在内存中是连续的,因此&array[0]在这里安全.