SWIG python初始化一个指向NULL的指针

bph*_*bph 6 c python swig pointers

在处理SWIG模块时,是否可以从python端初始化ptr为NULL?

例如,假设我已经在swig模块m(_m.so)中包装了一个struct track_t,我可以从python创建一个指向struct的指针,如下所示:

import m

track = m.track_t()
Run Code Online (Sandbox Code Playgroud)

这将在适当的包装函数中为我提供malloc一个track_t.

但我希望能够实现以下目标:

track_t *track = NULL;
Run Code Online (Sandbox Code Playgroud)

但是在python而不是C中,例如从python端初始化一个指向NULL的指针

我需要这样做,因为它是哈希表C实现的要求我正在使用新的哈希表以NULL指针开始

我可以写一个帮助函数,比如说,track_t* create_null_track()返回一个NULL指针,但是想到可能有一个更简单的方法?

编辑:

我可以确认辅助函数是否有效,但我希望有一种内置的方法来执行此操作,因为需要一个NULL指针似乎是一个常见的要求

辅助函数简单如下:

track_t* create_null_track(void)
{
    return NULL;
}
Run Code Online (Sandbox Code Playgroud)

不确定函数中指定的返回类型信息是否必要,因此更通用的方法可能是:

void* get_null(void)
{
    return NULL;
}
Run Code Online (Sandbox Code Playgroud)

也许?

Mar*_*nen 6

只需使用Nonepython来表示空值.