मैं एक परिपत्र सूची का उपयोग करना चाहता हूँ।क्या सी ++ के लिए परिपत्र सूची का मानक कार्यान्वयन मौजूद है?
अपना खुद का कार्यान्वयन करने का छोटा (like this person did) मेरे विकल्प क्या हैं?
विशेष रूप से मैं जो करना चाहता हूं वह वस्तुओं की एक सूची पर पुनरावृत्त है। जब मेरा पुनरावर्तक सूची के अंत तक पहुंच जाता है, तो इसे स्वचालित रूप से शुरुआत में वापस जाना चाहिए। (हाँ, मुझे एहसास है कि यह खतरनाक हो सकता है।)
See Vladimir's definition of a circular_iterator
: "एक परिपत्र_इटरेटर सर्कुलरलिस्ट :: एंड() के साथ कभी बराबर नहीं होगा, इस प्रकार आप हमेशा इस इटरेटर को कम कर सकते हैं।"
धन्यवाद नाफ! वेक्टर के आकार के साथ इंडेक्स को संशोधित करना इतना आसान समाधान है, मैं शर्मिंदा हूं, मैंने इसके बारे में नहीं सोचा था। – Runcible
यदि आप सुनिश्चित करते हैं कि आपके 'वेक्टर' का आकार दो की शक्ति है, तो मॉड्यूलस ऑपरेशन के महंगे ओवरहेड की बजाय, बिटवाई '&' ऑपरेटर का उपयोग करें, क्योंकि यह केवल एक चक्र खर्च करता है। यह इस प्रकार काम करता है: '(एन मोड (2^के)) == (एन और (2^के -1)) 'उदा। 'एन% 256 == (एन और (255))' –