注册 登录
编程论坛 C++教室

有关c++ new的一个实例 怎么解释

zxfrocky 发布于 2010-12-07 18:01, 703 次点击
static StatementNode* makeVarStatementNode(JSGlobalData* globalData, ExpressionNode* expr)
{
    if (!expr)
        return new (globalData) EmptyStatementNode(globalData);
    return new (globalData) VarStatementNode(globalData, expr);
}

为什么加个(globalData)  new (globalData) VarStatementNode(globalData, expr);
这是什么意思
1 回复
#2
laoyang1032010-12-07 18:33
(globalData)  new (globalData) VarStatementNode(globalData, expr);
globalData是个指针数据类型
而且是指向函数的指针
这句话的意思是用new定义一个这样的函数(参数为globalData, expr类型的函数)
返回它的指针并且强制转化为globalData数据类型

1