我可以拥有C ++共享库,其中有导出的函数返回std::vector<t>
答案 0 :(得分:4)
是的,前提是DLL和使用它的C ++代码
然后它应该工作正常。其中一些可能有一些余地,但总的来说,如果可能的话,最好是安全并保持一切相同。
答案 1 :(得分:1)
如果在std::vector<t>
中t
是未知类型,即如果要在共享库中存储template
,而不是某些固定模板实例化,答案是否 。
需要一种方法将类型t
注入共享库,但没有。
在代码中:
// This is NOT possible:
template <typename T>
std::vector<T> something () {...}
// This IS:
std::vector<int> something () {...}