我的一位同事使用以下方法声明并初始化了一个全局变量new
:
#define MAX_SIZE_TABLES (1024 * 1024)
unsigned char * ImageBuf = new unsigned char[MAX_SIZE_TABLES];
使用 Microsoft Visual Studio 2010 Premium 编译和构建代码时没有错误。
我的问题:
按照标准或未定义的行为,这是合法的吗?
如果没有函数调用,什么时候删除内存delete
?
编辑1:在“为变量声明”之后添加了“初始化”。