c中动态内存分配是通过诸如malloc和free等库来实现而C给出了用和delete运算符进行动态内存分配新思路方法
以下是c中用新思路方法实现动态内存分配例子
void func
{*i= ;//为指针i分配存储空间&
*i—10;
tOut<<i;
delete i;//释放i指向存储空间
}
用传统C实现是这样:
void func(void)
{*il
i=malloc(());
*i=10;
prf(”%d"*i);
free(i);
}
显然C写法更加直观、易读而且在分配存储时无需显式地计算所占存储空间大小然而在C中增加和delete机制目远不在于此而是为了实现更大灵活性比如任何类可通过运算符重载来定义自己和delete用户定义类由于各自特定应用其对象分配和释放过程并不定样
由于所用存储管理系统不样同时混用它们可能会导致问题为此建议读者最好只用C和delete或者应保证分配和释放存储空间所用(运算符)致
最新评论