0
考虑以下代码将boost :: variant传递给(from)dll是否安全?
typedef boost::variant<int, std::string> var_t;
// this interface class will be implemented in DLL
class producer
{
public:
virtual var_t produce() = 0;
};
// this class will be implemented by DLL user and
// pointer to object of this class will be passed to producer
// as callback interface
class produce_handler
{
public:
virtual void handle_produce(const var_t&) = 0;
};
已知其通常为不安全的通STD通过动态库边界的对象。增强类型,特别是变体呢?
同样的问题与提升与标准。总是依赖于编译器/编译器版本/升级版本。 – user1810087
另外,在'variant'中有一个'std :: string':你觉得'variant'是多么神奇? – Yakk