2017-02-28 25 views
0

在我.i文件我有很多這樣的矢量模板:我有一個SWIG包裹的矢量。我怎麼知道它包含哪種類型?

%template(VectorInt) std::vector<int>; 

我有必要採取這些載體之一,並構建任何類型的載體包含一個實例。

我知道我可以得到矢量的類型,並使用我對命名約定的知識來計算出與所需類型相同的字符串,並從中調用構造函數。

我不能指望矢量不是空的。

有沒有更可靠的方法來獲取這些信息?

+0

沒有任何東西阻止你擁有一個boost :: vector的任何類型映射,這意味着vector的每個元素都有不同的類型。我想你真的想用鴨子在Python中打字。 – Flexo

+0

@Flexo這讓我很高興我不能使用Boost。 – JETM

回答

0

如果矢量已經有元素,從任何元素中獲取類型信息。

否則,您可以在矢量上調用resize,得到您所需要的,然後在之後調用clear

相關問題