Aşağıdaki örnekte iki bağımsız değişkenin verildiği bir C++ işlevim var.Python + SWIG'de nasıl referans ve işaretçi argümanları alınır?
void func(int& n, char** data)
{
*data = other_func1(); // returns a char array
n = other_func2(); // returns the length of the array
}
Kolayca C veya C++ bu işlevi kullanabilirsiniz, ancak ben yudum ile oluşturulan bir Python modülünden diyebilirsiniz bilmiyorum. Sanırım, örneğin std :: çifti döndüren başka bir C++ işlevi yazmam gerekecek. Fakat mümkünse Python tarafında bir çözüm bulmak istiyorum. Biri yardım edebilir mi? Yudum çıkış parametreleri sağlayan bazı varsayılan typemaps kullanır
%apply int *OUTPUT { int *n };
: yazmak için yeterli olacaktır durumlarda (örneğin int *n
) oldukça çok için