[英]How to get a pointer to boost::variant's storage?
我有一個用例,我想處理boost::variant
包含的元素,而不考慮其類型。
有沒有辦法在不知道元素類型的情況下獲得指向variant
數據的指針?
您可以編寫訪問者來做到這一點:
typedef boost::variant<T1,T2,T3> my_variant;
void foo(my_variant v) {
struct get_pointer: boost::static_visitor<void *> {
template<class T>
void *operator()(T &element) const
{
return &element
}
};
get_pointer vis;
void *data = boost::apply_visitor(vis, v);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.