找回密码
 用户注册

QQ登录

只需一步,快速开始

查看: 4567|回复: 3

请高手进

[复制链接]
发表于 2009-9-9 18:31:15 | 显示全部楼层 |阅读模式
请问一下两种方法有什么不同:
ACE_Message_Block * head = NULL;
    ACE_NEW_RETURN(head, ACE_Message_Block( sizeof( void * ) ), -1 );
    ACE_Message_Block *msg = head;
-------------------------------------------------
ACE_Message_Block * head =new ACE_Message_Block(sizeof( void * ))
    ACE_Message_Block *msg = head;
发表于 2009-9-10 08:49:09 | 显示全部楼层
看书APG第一章,对此有专门介绍。
发表于 2010-5-16 17:34:56 | 显示全部楼层
原帖由 modern 于 2009-9-10 08:49 发表
看书APG第一章,对此有专门介绍。


老大?第一章有专门介绍吗???
发表于 2010-5-16 22:21:46 | 显示全部楼层
你是问ACE_NEW_RETURN和NEW的区别吗? 在分内存分配失败的时候. 标准C++中,new 可能抛出异常也可能返回NULL.这个跟实现有关. 如果这时new返回的不是NULL(也就是无效的指针),就会发生内存错误. ACE_NEW_RETURN是对new进行了封装.如果内存分配失败,就会返回上层调用者.并指定一个返回值.
您需要登录后才可以回帖 登录 | 用户注册

本版积分规则

Archiver|手机版|小黑屋|ACE Developer ( 京ICP备06055248号 )

GMT+8, 2024-5-6 12:33 , Processed in 0.018607 second(s), 7 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表