के पीछे एक वेक्टर तत्व को स्थानांतरित करना क्या तत्व को मिटाने और इसे वापस जोड़ने के अलावा कोई बेहतर तरीका है (या तो तेज़ या कोड के कम प्रतीकों के साथ)?वेक्टर
template <typename T>
void moveItemToBack(std::vector<T>& v, size_t itemIndex)
{
T tmp(v[itemIndex]);
v.erase(v.begin() + itemIndex);
v.push_back(tmp);
}
वास्तव में नहीं है ... वेक्टर उन चीज़ों को स्टोर करने का एक बहुत ही प्रभावी तरीका नहीं है जिन्हें शुरुआत से हटाया जाना आवश्यक है। 'Std :: queue' या' std :: dequeue' – IdeaHat
@MadScienceDreams पर देखें: std :: dequeue यहां बेहतर नहीं है, और मुझे यादृच्छिक पहुंच की आवश्यकता है। –
फिर उपयोग करने के लिए कुशल संरचना अपने स्वयं के अंगूठी बफर बनाने के लिए है। – IdeaHat