चूंकि टेम्पलेट हेडर के भीतर परिभाषित किए गए हैं और कंपाइलर यह निर्धारित करने में सक्षम है कि फ़ंक्शन इनलाइन करना फायदेमंद है, क्या इसका कोई अर्थ है? मैंने सुना है कि आधुनिक कंपाइलर्स एक फ़ंक्शन इनलाइन करते समय बेहतर जानते हैं और inline
संकेत को अनदेखा कर रहे हैं।क्या यह टेम्पलेट्स के साथ इनलाइन कीवर्ड का उपयोग करने का कोई अर्थ है?
संपादित करें: मैं दोनों उत्तरों को स्वीकार करना चाहता हूं, लेकिन यह संभव नहीं है। मुद्दा मैं phresnel को स्वीकार कर रहा हूँ बंद करने के लिए की जवाब है, क्योंकि यह सबसे अधिक वोट प्राप्त हुआ है और वह औपचारिक रूप से सही है, लेकिन जैसा कि मैंने टिप्पणी में उल्लेख किया है मैं पिल्ला पर विचार 'भी सही लोगों के रूप में और घटक 10 के जवाब , विभिन्न बिंदुओं से।
समस्या सी ++ अर्थशास्त्र में है, जो inline
कीवर्ड और इनलाइनिंग के मामले में सख्त नहीं है। फ़्रेज़नेल कहता है, "यदि आप इसका मतलब रखते हैं तो इनलाइन लिखें", लेकिन वास्तव में inline
का अर्थ यह स्पष्ट नहीं है कि यह अपने मूल अर्थ से विकसित हुआ है कि "ओडीआर उल्लंघनों के बारे में कुचलने वाले कंपाइलर्स को रोकता है" पिल्ला कहता है।
स्पष्ट विशेषज्ञता के लिए यह सच है - वे सादे कार्यों की तरह हैं। लेकिन यहां -> 'टेम्पलेट इनलाइन टी जी (टी) {}' इनलाइन की आवश्यकता नहीं है और आप 'टेम्पलेट टी जी (टी) {} ' –
doc
लिखा होगा, कोई लिखा होगा, सच। लेकिन यह असभ्यता का अर्थ नहीं है, भले ही ऐसा लगता है। वंदेवोर्डे और जोसुटिस यह भी बताते हैं कि _C++ टेम्पलेट्स में: पूर्ण मार्गदर्शिका_ –
थोड़ा कमजोर बयान है कि टेम्पलेट्स में कई परिभाषाएं हो सकती हैं (3.2/5) -> http://stackoverflow.com/a/10211420/205955 मैं सहमत हूं कि यह इस बात का तात्पर्य नहीं है कि वे औपचारिक रूप से इनलाइन हैं। हालांकि, यह सब अभ्यास में इस पर आता है। इसलिए, दोनों उत्तरों विभिन्न दृष्टिकोणों से सही हैं। – doc