(*新)做什么?

时间:2011-07-08 22:48:40

标签: c new-operator

我正在尝试解决我的应用程序在activemq-cpp-3.4.0库中遇到的问题,并且我已经逐行跟踪以查看它出错的地方。应用问题本身与这个问题相关;我遇到了一些我不理解的代码,我希望有人可以解释发生了什么。

向下搜索,我发现以下代码(注意:这在技术上是在apr库中):

alloc_socket(new, cont);

/* For right now, we are not using socket groups.  We may later.
 * No flags to use when creating a socket, so use 0 for that parameter as well.
 */
(*new)->socketdes = socket(family, type, protocol);

if ((*new)->socketdes == INVALID_SOCKET) {
    return apr_get_netos_error();
}

我对alloc_socket(new, cont)感到困惑,但具体而言我对(*新)调用的内容感兴趣。这会分配this的另一个实例吗?如果是这样,再次使用socketdes检查存储的(*new)值是否是一个谬误,因为这将创建另一个单独的实例?或者我完全偏离轨道?

1 个答案:

答案 0 :(得分:7)

这是C代码。在C中,new是标识符,而不是关键字。

相关问题