(*新)做什么?

dol*_*phy 2 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();
}
Run Code Online (Sandbox Code Playgroud)

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

Die*_*Epp 7

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

  • 对我来说似乎很方便. (7认同)