我有,我需要在运行时获取一些字符数组帮助的固定内存泄露
我担心
是,如果我尝试
delete buffer;
然后我不能
成员函数return buffer;
但是我如何释放我分配的内存
char * buffer= new char[size]
类
class OpenglShaderLoader
{
char * getLastGlslError()
{
char * buffer;//i don't know the size of this until runtime
int size;
glShaderiv(hShaderId,GL_INFO_LOG_LENGTH,&size);//get size of buffer
buffer= new char[size];
//.. fill in the buffer
return buffer;
}
}
为什么不只是返回一个std :: string? – 2011-04-25 02:01:30
@Andrew:你可以,从C++ 0x开始。在C++ 03和更早的版本中,没有具体的保证'std :: string'必须是连续的(尽管实际上它们必须是)。 – 2011-04-25 02:02:28