में `std :: cbegin()` का समर्थन स्कॉट मेयर्स के "प्रभावी आधुनिक सी ++" आइटम 13 से इटरेटर पर const_iterators पसंद करते हैं। मैं सहमत हूं लेकिन मैं सदस्य कार्यों के बजाय गैर-सदस्य कार्यों का भी उपयोग करना चाहता हूं। पुस्तक के अनुसार सी ++ 14 में गैर-सदस्य फ़ंक्शन std::cbegin()
और std::cend()
होना चाहिए।सी ++ 14
इस फ़ंक्शंस का उपयोग करने के लिए मैंने अभी जीसीसी संस्करण 4.9.2 स्थापित किया है और ध्वज -std=c++14
के साथ संकलित किया है। ऐसा लगता है जब तक कि मैं std::cbegin()
का उपयोग करने की कोशिश नहीं करता। मैं इस फ़ंक्शन के लिए समर्थन की खोज करना शुरू कर रहा हूं लेकिन इसके बारे में कुछ भी नहीं मिला। उदाहरण के लिए, gnu onlinedocs status पर फ़ंक्शन का भी उल्लेख नहीं किया गया है।
मेरा प्रश्न है, std::cbegin()
और std::cend()
वास्तव में C++ 14 में समर्थित होगा या यह पुस्तक में एक गलती है? यदि यह एक सी ++ 14 फीचर होगा, तो क्या ऐसे कंपाइलर्स हैं जो पहले से ही इन कार्यों का समर्थन करते हैं और जीसीसी इसका समर्थन कब करेगा?
SO के बारे में begin()
पर कई प्रश्न हैं लेकिन ये प्रश्न सदस्य कार्य या कॉन्स्टेक्स-नेस के बारे में हैं और गैर-सदस्य संस्करण के समर्थन के बारे में नहीं हैं।
यह मेरा प्रस्ताव था। केवल मैंने इसे खुद नहीं लिखा क्योंकि यह समिति के कुछ सदस्यों द्वारा मेरे बजाय लिखा जाना चाहिए। :) –