我正在为我的库编写一个 C 包装器 API。
我通常将我的 C++ 对象作为 C 中的 void*
传递。而且每个对象的公共(public)函数都有自然的访问包装函数。 C 代码不访问 native C++ 类成员。
昨天,有人在 IRC 上提到我不应该在 C 中将指向 C++ 模板类的指针作为 void*
传递,因为这很危险。这是真的?指向普通 C++ 类的指针与指向模板类的指针有何不同?
谢谢!
最佳答案
这是假的。模板没有普通类所没有的特殊属性。确保您始终使用适当的类型转换,您会没事的。
关于C++:在 C 中传递指向模板类的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9876883/