C语言 Vs C++语言 - 网安中国--最大的网络安全门户--黑客网门户

用户名: 密码: 验证码: 注册
由kiqiSEO提供网站优化技术支持 | 高级搜索 | 收藏本站 | 网站地图 | RSS订阅 |
网安中国搜索

您现在的位置:主页>文章>程序设计>

C语言 Vs C++语言

作者: 叶羽抒 ,  出处:Safe86
时间:2008-04-23

分配四段内存,分别保存10个、20个、30个、40个int数据,然后进行计算,最后释放内存。
C实现如下

复制内容到剪贴板
代码:


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);
}
C++代码如下:
复制内容到剪贴板
代码:
void test() {
    try{
        // 分配内存
        std::vector v1(10), v2(20), v3(30), v4(40);

        // 进行计算

        // 无需编写代码释放内存,析构函数自动释放内存
    } catch(std::bad_alloc& ex) { // 内存不足
        return;
    }
}
编辑分析:虽然我习惯的是C,站在公平的立场来说 C 中 使用太多的if 来判断分配内存的是否足够  而c++ 的std::vector 能实现自动分配 这点是C无法比拟的站在主观的观点上

最新评论

网友评论

用户名: 密码:  

相关文章

热点文章

广告服务 | 关于我们 | 招贤纳士 | 战略合作 | 联系我们 | 发展历程 | 友情链接 | 我要挑错
All Rights Reserved, Copyright 2008-2009, Safe86
申请备案中.... 如有意见请与我们联系 powered by 织梦内容管理系统