मैंने सी ++ सीखना शुरू किया और मैंने एक पुस्तक पढ़ी जो लिखती है कि मुझे <string>
हेडर फ़ाइल का उपयोग करना चाहिए क्योंकि स्ट्रिंग प्रकार सीधे कंपाइलर में नहीं बनाया गया है। यदि मैं <iostream>
का उपयोग करता हूं तो मैं स्ट्रिंग प्रकार का उपयोग कर सकता हूं।क्या मुझे <iostream> के बगल में # शामिल <string> का उपयोग करना है?
क्या मुझे <string>
शीर्षलेख शामिल करना है जब मैं स्ट्रिंग प्रकार का उपयोग करना चाहता हूं यदि मैंने <iostream>
हेडर शामिल किया है? क्यूं कर? क्या कोई अंतर है?
यह शायद स्ट्रिंग की एक अगली घोषणा है ( में शामिल है जिसमें आईएनजी जीसीसी के कार्यान्वयन शामिल हैं)। मुझे लगता है कि यह मानक व्यवहार है (हालांकि मानक को जांचना होगा), इसलिए मेरा मानना है कि वह उस पर भरोसा कर सकता है जब उसे पूर्ण प्रकार की आवश्यकता नहीं होती है। –
Aleph
@AnotherTest "मैं स्ट्रिंग प्रकार का उपयोग कर सकता हूं" - मुझे बताता है कि उसे पूर्ण प्रकार की आवश्यकता है। यदि वह नहीं करता है, तो आगे की घोषणा होगी, हां। –
27.5.1 बताता है कि में शामिल होना चाहिए। उसे केवल 'char_traits' की आवश्यकता है, इसलिए मुझे यकीन नहीं है कि एक कंपाइलर को' स्ट्रिंग 'घोषित करना होगा या नहीं। मुझे अभी भी संदेह है कि iostream के किसी भी कार्यान्वयन में संपूर्ण स्ट्रिंग हेडर शामिल है। –
Aleph