मैं ऐसे कोड है (सदिश में रहते हैं: 0 1 2 4)। .base() क्या करता है?C++ STL क्या आधार है()
उत्तर
base()
आगे इसी इटरेटर में एक रिवर्स इटरेटर बदल देता है। हालांकि, इसकी सादगी के बावजूद, यह पत्राचार एक चीज के रूप में छोटा नहीं है।
जब एक तत्व पर एक रिवर्स इटरेटर अंक, यह पिछले एक dereferences, तो तत्व यह शारीरिक रूप से को अंक और तत्व यह तार्किक अंक के लिए अलग हैं। निम्न आरेख में, i
एक आगे इटरेटर है, और ri
एक रिवर्स इटरेटर i
से निर्मित है:
i, *i
|
- 0 1 2 3 4 -
| |
*ri ri
तो अगर ri
तार्किक तत्व 2
को इंगित करता है, यह शारीरिक रूप से तत्व 3
को इंगित करता है। इसलिए, जब एक आगे इटरेटर में परिवर्तित किया जाता है, परिणामी इटरेटर तत्व 3
पर इंगित करेगा, जो आपके उदाहरण में हटा दिया जाता है।
#include <iostream>
#include <vector>
#include <iterator>
#include <algorithm>
int main(int argc, char *argv[])
{
std::vector<int> v { 0, 1, 2, 3, 4 };
auto i = find(begin(v), end(v), 2);
std::cout << *i << std::endl; // PRINTS 2
std::reverse_iterator<decltype(i)> ri(i);
std::cout << *ri << std::endl; // PRINTS 1
}
यहाँ एक live example है:
निम्नलिखित छोटे प्रोग्राम ऊपर व्यवहार को दर्शाता है।
base()
अंतर्निहित आधार पुनरावर्तक देता है।
आधार इटरेटर तत्व यह है कि तत्व
reverse_iterator
वर्तमान की ओर इशारा करते है के बगल में है को दर्शाता है। वहstd::reverse_iterator(it).base() == std::next(it)
है।
आप reverse_iterator
here के बारे में अधिक जान सकते हैं।
- 1. C++ stl
- 2. C++ और इंजेक्शन आधार नाम
- 3. stl मानचित्र प्रदर्शन?
- 4. `printf` में% * c% * c क्या है?
- 5. stl map <char*,char*> destructor
- 6. लूप से STL for_each कथन
- 7. क्या ASP.NET समर्थन C++ है?
- 8. समाप्त कर सकते हैं() STL कंटेनर
- 9. स्थिरांक और STL कंटेनरों में गैर स्थिरांक
- 10. शून्य वर्णों के साथ STL basic_string लंबाई
- 11. संरचना के साथ stl मानचित्र का उपयोग करना असंभव है?
- 12. "आधार" वाक्यविन्यास का क्या अर्थ है?
- 13. आधार डीआईआर का पूर्ण मार्ग क्या है?
- 14. <C-C> और vim में <C-[> के बीच क्या अंतर है?
- 15. इस क्या करता है ... (तीन बिंदु) C++
- 16. सबसे अच्छा OAuth2 C# लाइब्रेरी क्या है?
- 17. {$ C PRELOAD} निर्देश का अर्थ क्या है?
- 18. c_str 0 का उपयोग क्या है C++
- 19. तो क्या stl संग्रह में unique_ptr सुरक्षित रूप से उपयोग किया जा सकता है?
- 20. सी ++ प्रोग्रामर (structs और stl) से स्कैला पर प्रश्न
- 21. क्या std :: सेट पुनरावृत्ति क्रम हमेशा C++ विनिर्देश के अनुसार आरोही है?
- 22. C++
- 23. सीएमके को जीसीसी संस्करण के आधार पर या तो std = C++ 14/C++ 1y या C++ 17/C++ 1z पास करने के लिए कैसे प्राप्त करें?
- 24. C/C++
- 25. विजुअल C++ पोर्टेबिलिटी
- 26. C++
- 27. CMake जनरेटर अभिव्यक्ति, C/C++ कोड
- 28. क्या करता है, "FATAL: विलय आधार कंप्यूटिंग त्रुटि" मतलब है?
- 29. क्या कोई C++ एक NullPointerException
- 30. क्या मेकॉनटेक्स्ट()/swapcontext() फ़ंक्शन C++
शायद आपको इसे पढ़ना चाहिए: http://www.cplusplus.com/reference/iterator/reverse_iterator/base/ – JBL