c++ - string::size_type instead of int -
const std :: string :: size_type cols = greet.size () + पैड * 2 + 2;
क्यों string :: size_type
? int
काम करने के लिए माना जाता है! यह संख्या रखता है!
एक छोटी संख्या भी है जैसा कि हस्ताक्षरित चार करता है।
लेकिन इन प्रकारों में से कोई भी किसी भी स्ट्रिंग के आकार का प्रतिनिधित्व करने के लिए पर्याप्त होने की गारंटी नहीं है।
स्ट्रिंग :: size_type
की गारंटी देता है कि बस। यह एक ऐसा प्रकार है जो स्ट्रिंग के आकार का प्रतिनिधित्व करने के लिए काफी बड़ा है, चाहे वह स्ट्रिंग कितना बड़ा हो।
64-बिट प्लेटफॉर्म पर विचार करने के लिए यह क्यों आवश्यक है, इसका एक सरल उदाहरण के लिए। आम तौर पर एक इंट उन पर 32 बिट है, लेकिन आपके पास स्मृति के 2 ^ 32 बाइट्स से अधिक है।
इसलिए यदि (हस्ताक्षरित) int का उपयोग किया गया था, तो आप स्ट्रिंग्स को बड़ा बनाने में असमर्थ होंगे 2 ^ 31 वर्ण Size_type हालांकि उन प्लेटफार्मों पर एक 64-बिट मान होगा, इसलिए यह किसी समस्या के बिना बड़ी तार का प्रतिनिधित्व कर सकता है।
Comments
Post a Comment