C++:在 C 中传递指向模板类的指针

标签 c++ c templates wrapper

我正在为我的库编写一个 C 包装器 API。

我通常将我的 C++ 对象作为 C 中的 void* 传递。而且每个对象的公共(public)函数都有自然的访问包装函数。 C 代码访问 native C++ 类成员。

昨天,有人在 IRC 上提到我不应该在 C 中将指向 C++ 模板类的指针作为 void* 传递,因为这很危险。这是真的?指向普通 C++ 类的指针与指向模板类的指针有何不同?

谢谢!

最佳答案

这是假的。模板没有普通类所没有的特殊属性。确保您始终使用适当的类型转换,您会没事的。

关于C++:在 C 中传递指向模板类的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9876883/

相关文章:

c - 为什么在 openmp 并行 block 中使用的东西之后不会被 Boehm GC 收集?

c++ - 如何最小化模板代码?

C++,变量恢复为初始值

c - 指向本地范围内的结构体段错误数组的指针 (C)

c++ - 添加打印语句可将代码速度提高一个数量级

c - TCP 标志过滤器的十六进制、按位或反转

c++ - 使用迭代器删除元素,不知道 vector

c++ - 想要 : a C++ template idea to catch an issue, 但在编译时?

c++ - 是否有调试器可以让我通过代码向后退一步?

C++ Visual Studio 2012 链接器错误?