मैं इस पृष्ठ के माध्यम से गया था, लेकिन मैं उसी के कारण प्राप्त करने में सक्षम नहीं हूं। वहाँ यह उल्लेख है कि
"यह अधिक समझदार है कि इसके लिए कोई मूल्य नहीं है और ग्राहकों को सामने वाले का उपयोग करने के लिए () कतार के सामने के मूल्य का निरीक्षण करने की आवश्यकता है"
लेकिन सामने () से एक तत्व का निरीक्षण करने के लिए भी उस तत्व की आवश्यकता होती है जो कि प्रतिरूप में कॉपी किया जाता है। उदाहरण के लिए इस कोड सेगमेंट में
std::queue<int> myqueue;
int myint;
int result;
std::cin >> myint;
myqueue.push (myint);
/ * यहां अस्थायी RHS पर बनाया जाएगा जिसे परिणाम के लिए सौंपा जाएगा, और यदि संदर्भ द्वारा रिटर्न मिलता है तो परिणाम पॉप ऑपरेशन के बाद अमान्य हो जाएगा * /
result = myqueue.front(); //result.
std::cout << ' ' << result;
myqueue.pop();
पांचवीं पंक्ति पर cout ऑब्जेक्ट पहले myqueue.front () की एक प्रति बनाता है फिर परिणाम देने के लिए असाइन करता है। तो, अंतर क्या है, पॉप फ़ंक्शन एक ही काम कर सकता है।
front()
करने के लिए भी उस तत्व की आवश्यकता होती है जो कि लवल्यू में कॉपी किया जाता है" - नहीं। front
एक संदर्भ देता है, एक मूल्य नहीं। आप इसे कॉपी किए बिना संदर्भित मूल्य का निरीक्षण कर सकते हैं।
pop()
। यदि आप उपयोग करते हैं std::queue<T, std::list<T>>
तो front()
ए द्वारा अमान्य होने से प्रदान किए गए संदर्भ के बारे में कोई चिंता नहीं है push()
। लेकिन आपको अपने उपयोग के पैटर्न को जानना चाहिए और अपनी बाधाओं का दस्तावेजीकरण करना चाहिए।
void std::queue::pop();
)।