(自荐)写的 关于C与C++到底谁好
分配四段内存,分别保存10个、20个、30个、40个int数据,然后进行计算,最后释放内存。C实现如下[code]
void test() {
// 分配内存
int *p1, *p2, *p3, *p4;
if( !(p1 = malloc(10*sizeof(int))) ) // 内存不足
return;
if( !(p2 = malloc(20*sizeof(int))) ) { // 内存不足
free(p1);
return;
}
if( !(p3 = malloc(30*sizeof(int))) ) { // 内存不足
free(p1);
free(p2);
return;
}
if( !(p4 = malloc(40*sizeof(int))) ) { // 内存不足
free(p1);
free(p2);
free(p3);
return;
}
// 在这里进行计算
// 释放内存
free(p1);
free(p2);
free(p3);
free(p4);
}[/code]C++代码如下:[code]void test() {
try{
// 分配内存
std::vector v1(10), v2(20), v3(30), v4(40);
// 进行计算
// 无需编写代码释放内存,析构函数自动释放内存
} catch(std::bad_alloc& ex) { // 内存不足
return;
}
}[/code]不好意思 前段自己写错了 [(:lol:)] 大家能够原谅我吧 现在修正 虽然我习惯的是C
站在公平的立场来说
C 中 使用太多的if 来判断分配内存的是否足够
而c++ 的std::vector 能实现自动分配 这点是C无法比拟的
站在主观的观点上
[(:biggrin:)] 大家入门还是学C吧 C是我的最爱[(:lol:)] [(:smile:)] [(:smile:)] 学习了 我觉得先学C的面向过程,再学C++的面向对象就一目了然。
我就是这么自学的…… 还没开始学呢!~~~~不过也快要学C了~~~书已经有了~~~就差时间的磨合了 希望楼主能够大大的指教啊~~~~先在此谢谢了~~~ 起始学C的方向是对的
不过相对C而言 C# 更简易化
毕竟算是升级版
没有点含量怎么征服群众 嗯。。顶下。。。不错[(:smile:)]
页:
[1]