簡體   English   中英

如何獲得一個指向boost :: variant存儲的指針?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM