【问题标题】:How to pass a pointer to a C++ plugin如何将指针传递给 C++ 插件
【发布时间】:2010-12-03 09:47:42
【问题描述】:

在我们公司,我们使用的是我使用 QT 插件系统编写的插件系统。 每个插件都有“需要的功能”和“自己的功能”,因此,如果一个插件需要一个名为 *func_1* 的函数,则必须有一个插件具有一个名为 *func_1* 的函数。

这很好用,但现在我有一个问题:插件需要知道指向另一个插件使用的某个类对象的指针,但这是外部的。我不能在插件界面中放置任何关于这个类的信息,因为它与它无关。

我唯一的解决方案是编写一个接口函数,我可以使用它传递 void 指针,但我想知道是否有其他解决方案可能更少 C 风格。

提前致谢。

【问题讨论】:

  • 这个问题很不清楚。你能提供一个测试用例吗?
  • 或者我应该用意大利语问吗? :)
  • 我只需要将 的指针从另一个插件传递给一个插件,这并不奇怪。但我正在尝试 boost::any 按照建议,它看起来不错。

标签: c++ pointers plugins


【解决方案1】:

现代 C++ 对 void 指针的“替换”类似于 Boost.Any。它允许您通过接口传递任何内容,并且仍然为您提供一定的类型安全性。

【讨论】:

  • 再次感谢,我使用了 boost::any,非常完美。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-19
  • 1970-01-01
  • 1970-01-01
  • 2018-08-11
  • 2012-02-05
  • 1970-01-01
相关资源
最近更新 更多