如何一次性设置结构的所有值?

  • 本文关键字:结构 一次性 设置 cython
  • 更新时间 :
  • 英文 :


>如果我有结构体

cdef struct Interval:
unsigned int start
unsigned int end
unsigned int index

我可以像这样为它赋值

i.start = 1

但是我可以一次性设置所有值(开始、结束、索引(吗?

我实际上在文档中找不到它,但cython确实支持等效的结构初始化c

%%cython
def f():
cdef Interval i = [1, 1, 3]
return i.index

C 代码生成为:

struct __pyx_t_46_cython_magic_f52bf70efc56b7361a3a2e15f913f262_Interval __pyx_t_1;
/* "_cython_magic_f52bf70efc56b7361a3a2e15f913f262.pyx":14
* 
* def f():
*     cdef Interval i = [1, 1, 3]             # <<<<<<<<<<<<<<
*     return i.index
*/
__pyx_t_1.start = 1;
__pyx_t_1.end = 1;
__pyx_t_1.index = 3;

最新更新