假设我已经在C/C++代码中分配了一个C风格的双打动态数组,因此我有:
double *x; //Pointing to beginning of allocated memory int size; //Size of array
是否有可能编写lua代码(甚至是用于lua的C/C++代码),以便lua的C/C++嵌入式实例能够在数组上的“视图”元素上有效地读/写?
我只需要支持以下C操作:
double y = x[2]; //Reading x[2] = 3.0; //Writing int vecSize = x.size(); //Size of array
不需要内存管理(也不需要).
解决方法
当然,将指针导出为userdata并设置__index和__newindex元方法.