我可以在不同的重定向上混合new和malloc吗?



在我混合newmalloc的情况下,这种行为是否未定义?

int main()
{
int ***arr = new int**[1];
arr[0] = static_cast<int**>(malloc(sizeof(int**)));
arr[0][0] = new int; 
arr[0][0][0] = 1;
//now, release memory using appropriate operator
}

可以。之后你必须相应地调用delete[],deletefree。注意不要把你从malloc得到的东西和delete等一起释放。

这种行为是否未定义,我正在混合新的和malloc?

示例中没有UB。

你可以这样做,但是没有好处。

最新更新