प्रौद्योगिकी साझेदारी

C 11-भाग 2 इत्यस्मिन् नवीनविशेषतानां परिचयः

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

11. स्वचालित प्रकार कटौती

(1) स्वतः प्रकार स्वचालित व्युत्पत्ति
auto स्वयमेव चरस्य प्रकारं निष्कर्षयति
auto वास्तविकं प्रकारं न प्रतिनिधियति, केवलं प्रकारघोषणायां स्थानधारकः एव
स्वतः सर्वशक्तिमान् नास्ति तथा च कस्मिन् अपि परिदृश्ये निष्कर्षितुं शक्यते ऑटो इत्यस्य उपयोगेन घोषिताः चराः आरभणीयाः येन संकलकः स्वस्य वास्तविकं प्रकारं निष्कर्षयितुं शक्नोति तथा च संकलनसमये ऑटो वास्तविकप्रकारे परिवर्तयितुं शक्नोति ।
यदा चरः सूचकः वा सन्दर्भः वा न भवति तदा व्युत्पत्तिपरिणामः const तथा ​​volatile कीवर्डं न धारयिष्यति यदा चरः सूचकः अथवा सन्दर्भः भवति तदा व्युत्पत्तिपरिणामः const तथा ​​volatile कीवर्डं धारयिष्यति;
यत्र auto इत्यस्य उपयोगः कर्तुं न शक्यते तत्र परिदृश्याः : १.
1.auto इत्यस्य उपयोगः function parameter इत्यस्य रूपेण कर्तुं न शक्यते, यतः auto इत्यस्य उपयोगः formal parameter इत्यस्य रूपेण चरस्य आरम्भं न करणस्य तुल्यम् अस्ति, auto इत्यस्य निर्यातं कर्तुं न शक्यते;
2. वर्गस्य अस्थिरसदस्यचरानाम् आरम्भार्थं तस्य उपयोगः कर्तुं न शक्यते, यतः अस्थिरसदस्यचराः वस्तुनां भवन्ति, तथा च यावत् वस्तुनः निर्माणं न भवति तावत् वस्तुनः प्रकारः न ज्ञायते
3. भवन्तः सरणीं परिभाषितुं auto कीवर्डस्य उपयोगं कर्तुं न शक्नुवन्ति;
4. टेम्पलेट् पैरामीटर्स् व्युत्पन्नं कर्तुं ऑटो इत्यस्य उपयोगः न भवति;
ऑटो कृते अनुशंसिताः उपयोगपरिदृश्याः : १.
1. एसटीएल-पात्रस्य पारगमनाय उपयुज्यते;
2. सामान्यप्रोग्रामिङ्गस्य कृते उपयुज्यते;
(2) decltype प्रकार व्युत्पत्ति
कदाचित् भवन्तः चरानाम् आवश्यकतां न अनुभवन्ति अथवा न शक्नुवन्ति, परन्तु भवन्तः एकं निश्चितं प्रकारं प्राप्तुम् इच्छन्ति decltype संकलनस्य समये व्यञ्जनस्य प्रकारं निष्कर्षयितुं शक्नुवन्ति, यथा: int x=18; ;अर्थात् x तः a इत्यस्य प्रकारं निष्कर्षयन्तु
व्युत्पत्तिनियमाः : १.
1. अभिव्यक्तिः साधारणः चरः, साधारणः व्यञ्जनः, अथवा समयवर्गस्य अभिव्यक्तिः भवति, तथा च decltype इत्यस्य उपयोगेन निष्कर्षितः प्रकारः व्यञ्जनस्य प्रकारेण सह सङ्गतः भवति
2. अभिव्यक्तिः एकं फंक्शन् अस्ति, तथा च decltype इत्यस्य उपयोगेन निष्कर्षितः प्रकारः फंक्शन् इत्यस्य रिटर्न् वैल्यू इत्यनेन सह सङ्गतः अस्ति (यदि रिटर्न् वैल्यू const, volatile qualifiers इत्यनेन परिवर्तितं भवति तर्हि क्वालिफायर् इत्यस्य अवहेलना भवति)
3. अभिव्यक्तिः lvalue अथवा () इत्यनेन लपेटितः अस्ति, तथा च decltype इत्यस्य उपयोगः अभिव्यक्तिप्रकारस्य सन्दर्भं निष्कर्षयितुं भवति (यदि return value const अथवा volatile qualifiers इत्यनेन परिवर्तितं भवति तर्हि qualifiers इत्यस्य अवहेलना भवति)
decltype इत्यस्य अनुप्रयोगपरिदृश्याः : १.
1. अधिकतया जेनेरिक प्रोग्रामिंग् इत्यत्र उपयुज्यते, यतः जेनेरिक प्रोग्रामिंग् इत्यत्र अनिश्चितप्रकाराः बहुसंख्याकाः सन्ति;

12.अन्तिमप्रयोगः

final इत्यस्य उपयोगः कस्यचित् वर्गस्य उत्तराधिकारस्य अथवा कस्यचित् वर्चुअल् फंक्शन् इत्यस्य अधिलिखितत्वस्य प्रतिबन्धनार्थं भवति ।
यदा final कञ्चन फंक्शन् परिवर्तयति तदा भवान् केवलं वर्चुअल् फंक्शन्स् परिवर्तयितुं शक्नोति, अन्तिमः कीवर्डः च क्लास् अथवा फंक्शन् इत्यस्य अनन्तरं स्थापनीयः । यदा वर्चुअल् फंक्शन् final इत्यनेन परिवर्तितं भवति तदा उपवर्गस्य मातापितृवर्गस्य वर्चुअल् फंक्शन् इत्यस्य अधिलिखनं निवारयितुं शक्नोति ।
यदा final कस्मिंश्चित् वर्गे परिवर्तनं करोति तदा वर्गनामस्य अनन्तरं final इति लिखन्तु, यत् सूचयति यत् अस्य वर्गस्य उत्तराधिकारः न भवति, अर्थात् अस्मिन् वर्गे व्युत्पन्नवर्गाः न सन्ति

13.उपयोगः

प्रारम्भिक भूमिका: नामस्थानानां घोषणार्थं प्रयुक्तम्।
नवीनं कार्यं: कस्यचित् प्रकारस्य उपनाम परिभाषयन्तु यत् वास्तवतः उपयोगेन केवलं मूलप्रकाराय उपनाम दत्तं भवति, न तु नूतनप्रकारस्य उपयोगः कथं भवति: नूतनप्रकारस्य उपयोगः = पुरातनः प्रकारः, यथा: my_int = int इत्यस्य उपयोगः
फंक्शन् पॉइंटर् परिभाषितुं typedef इत्यस्य स्थाने उपयोगेन कोड् पठितुं सुलभं भवति प्रारम्भिकेषु दिनेषु typedef इत्यस्य उपयोगः फंक्शन् पॉइंटर् परिभाषितुं भवति स्म, यथा: typedef int ( ।func)(int, string);परिभाषायाः उपयोगेन तस्य स्थाने उपयोगं कुर्वन्तु: func = int()(int, स्ट्रिंग);
उपयोगेन टेम्पलेट्-कृते उपनामानि निर्दिष्टुं शक्यन्ते, परन्तु typedef न शक्नोति

14.समकोणकोष्ठकः

प्रारम्भिकाः C संकलकाः समकोणकोष्ठकद्वयं दक्षिणशिफ्ट-सञ्चालकरूपेण व्याख्यातवन्तः
नवीनविशेषतासु, संकलकस्य पार्सिंग् नियमेषु सुधारः कृतः यत् यथासम्भवं बहुविधं समकोणकोष्ठकं टेम्पलेट् पैरामीटर् टर्मिनटर् मध्ये विश्लेषितं भवति

15.उपयोगं अधिलिखयतु

व्युत्पन्नवर्गे अधिलिखितव्यस्य कार्यस्य आधारवर्गस्य तत्सम्बद्धस्य आभासीफलनस्य समानः हस्ताक्षरः भवति इति सुनिश्चित्य अधिलिखितस्य उपयोगः भवति, तथा च आधारवर्गस्य कार्यस्य अधिलिखितत्वं भविष्यति इति स्पष्टतया सूचयति
फंक्शन् इत्यस्य अनन्तरं ओवरराइड् लिख्यते, यत्र स्पष्टतया उक्तं यत् फंक्शन् ओवरराइड् अस्ति, तथा च कम्पैलरः फंक्शन् इत्यस्य प्रकारं मातापितृवर्गस्य वर्चुअल् फंक्शन् च परीक्षिष्यति

16. मूल्यप्रकारं पोस्टफिक्सं प्रत्यागच्छतु

फंक्शन् घोषणा शरीरस्य अनन्तरं फंक्शन् इत्यस्य रिटर्न् वैल्यू प्रकारं लिखन्तु, auto func (parameter 1, parameter 2,...) -