我有一个 SWIG 包装的向量。我怎么知道它包含哪种类型?
I have a SWIG-wrapped vector. How can I tell which type it contains?
在我的 .i
文件中,我有很多这样的矢量模板:
%template(VectorInt) std::vector<int>;
我需要使用其中一个向量,并构造一个该向量包含的任何类型的实例。
我知道我可以获得向量的类型,并使用我对命名约定的了解来计算出与所需类型相同的字符串,并从中调用构造函数。
我不能指望向量不为空。
是否有更可靠的方式获取这些信息?
如果向量已经有元素,从任何元素获取类型信息。
否则,你可以在矢量上调用resize
,得到你需要的,然后再调用clear
。
在我的 .i
文件中,我有很多这样的矢量模板:
%template(VectorInt) std::vector<int>;
我需要使用其中一个向量,并构造一个该向量包含的任何类型的实例。
我知道我可以获得向量的类型,并使用我对命名约定的了解来计算出与所需类型相同的字符串,并从中调用构造函数。
我不能指望向量不为空。
是否有更可靠的方式获取这些信息?
如果向量已经有元素,从任何元素获取类型信息。
否则,你可以在矢量上调用resize
,得到你需要的,然后再调用clear
。