Sunday 15 September 2013

c++ - Boost 3D vector -


मैंने एक 3D वेक्टर वेक्टर & lt; vector & lt; vector & lt; boost :: variant & lt; स्ट्रिंग, फ्लोट & gt; & gt; & gt; & gt; मास्टर लिस्ट; जो विषम डेटा (स्ट्रिंग एंड फ्लोट) से भरा हो रहा है क्या यह सही तरीका है? क्योंकि मुझे बाद में निर्देश masterList.push_back (टोकन) के साथ समस्या का सामना करना पड़ रहा है; जिसके द्वारा मैंने std :: vector & lt; vector & lt; string & gt; & gt; टोकन;

वेरिएंट का एक वेक्टर जिसे आपको स्टोर करने की आवश्यकता है; यह किसी एक प्रकार के वेक्टर के प्रकार के साथ संगत नहीं है। दूसरे शब्दों में, आप यह कर सकते हैं:

  vector & lt; vector & lt; vector & lt; boost :: variant & lt; स्ट्रिंग, float & gt; & gt; & gt; & gt; मूल सूची; Std :: vector & lt; vector & lt; boost :: variant & lt; स्ट्रिंग, फ्लोट & gt; & gt; & gt; टोकन; masterList.push_back (टोकन);   

लेकिन यदि आपका डेटा ऐसी है कि "विचरण" केवल बाहरी आयाम पर होता है, तो आप इसके बजाय ऐसा कर सकते हैं:

  vector & lt; boost :: वेरिएंट & lt; vector & lt; vector & lt; स्ट्रिंग & gt; & gt ;, वेक्टर & lt; वेक्टर & lt; float & gt; & gt; & gt; & gt; मूल सूची; std :: वेक्टर & LT; वेक्टर & LT; स्ट्रिंग & gt; & gt; टोकन; masterList.push_back (टोकन);   

आप भी पुनर्विचार कर सकते हैं कि आपको वैक्टर के वैक्टर के सदिश की पूर्ण लचीलेपन (और सहवर्ती ऊपरी) की आवश्यकता है या नहीं। यदि आपका डेटा आयताकार है (दांतेदार नहीं), तो आप यहां उल्लिखित स्थिति को सुधार सकते हैं:

No comments:

Post a Comment