मुझे लगता है कि निम्नलिखित कुछ सी ++ कोड का सामना करना पड़ा?क्या एक टाइपिफ़ स्वयं का कोई प्रभाव पड़ता है?</p> <pre><code>typedef Request Request; </code></pre> <p>यह सिर्फ एक नहीं-op है या है एक प्रभाव वास्तविक typedef इस करता है, और यदि हां, तो क्या प्रभाव यह है:
उत्तर
पहचान टाइपपीफ की अनुमति है यदि नाम पहले से ही किसी प्रकार से संदर्भित है।
यह कानूनी है:
typedef int Request;
typedef Request Request; // Redefines "Request" with no effect
यह नहीं है:
typedef Request Request; // Illegal, first "Request" doesn't name a type.
मानक इस से संबंधित एक विशिष्ट उदाहरण है। सी ++ 2003, §7.1.3/2:
किसी दिए गए गैर-वर्ग दायरे में, एक typedef विनिर्देशक किसी भी प्रकार में घोषणा की कि गुंजाइश के लिए प्रकार का उल्लेख करने के नाम पर फिर से परिभाषित करने के लिए इस्तेमाल किया जा सकता है जो पहले से ही संदर्भित करता है। [उदाहरण:
typedef struct s { /* ... */ } s;
typedef int I;
typedef int I;
typedef I I;
- अंत उदाहरण]
उनके बीच क्या अंतर है? आपकी पोस्ट पर्याप्त स्पष्ट नहीं है, क्योंकि मैं एक ही टाइपपीफ को दो बार देखता हूं, फिर भी उनमें से एक कानूनी है, अन्य नहीं है। – Nawaz
मेरे पहले ब्लॉक और मेरे दूसरे ब्लॉक के बीच का अंतर "अनुरोध" की पूर्व परिभाषा है। –
तोRequest
केवल एक पैरामीटर यह एक opaque pointer हो रहा है के रूप में पारित कर दिया है।
वहाँ एक
typedef struct Request Request
कोड में कहीं होना चाहिए। (अपने प्रश्न पर टिप्पणियां देखें)
इसका उपयोग एपीआई को परिभाषित करने और कार्यान्वयन के विवरण छिपाने के लिए किया जाता है। तो आप बाद में एपीआई को बदले बिना कार्यान्वयन को बदल सकते हैं।
क्लाइंट को acutal प्रकार के बारे में कुछ भी जानने की आवश्यकता नहीं है - यह सिर्फ एक हैंडल है।
आप जो कुछ भी करना चाहते हैं उसे एपीआई विधियों (सृजन, हटाएं, लोड, init, ...)
आमतौर पर हैंडल Request
एपीआई के कार्यान्वयन में कुछ और अर्थपूर्ण में डाला जाएगा। यह आमतौर पर पुराना सी
- 1. <% $, <% @, <% =, <% # ... सौदा क्या है?
- 2. रूबी का प्रभाव <=> कॉम्बिनेटर
- 3. क्या करता है | और << मतलब है?
- 4. << पायथन में क्या करता है?
- 5. PHP क्या <<< मतलब है?
- 6. PHP में <<< ईओडी का उपयोग क्या है?
- 7. रेल में "वर्ग << स्वयं" का अर्थ क्या है?
- 8. <? या <? php --- क्या कोई अंतर है?
- 9. urllib2.Request (<url>) क्या करता है और मैं इसे कैसे प्रिंट/देख सकता हूं
- 10. पायथन मॉड्यूल में "सूची = सूची" का क्या प्रभाव है?</p> <pre><code>list = list dict = dict </code></pre> <p>इस मुहावरे का क्या मतलब है:
- 11. "<<<" ऑपरेटर का नाम क्या है?
- 12. <% # और <% = उद्घाटन टैग के बीच क्या अंतर है?
- 13. कक्षा << आत्म मतलब क्या है?
- 14. <% "का अर्थ क्या है: <% = और <% = में क्या अंतर है?
- 15. "ऑपरेटर <<" क्या कहा जाता है?
- 16. <: <, <% <, =: = कंपाइलर में काम का स्केल कार्यान्वयन वास्तव में कैसे करता है?
- 17. PHP में, "<<<" क्या दर्शाता है?
- 18. Guzzle में progammatically बिल्डिंग क्वेरी स्ट्रिंग?</p> <pre><code>$request->set('f', 4); $request->set('l', 2); $request->set('p', 3); $request->set('u', 5); </code></pre> <p>guzzle में क्या यह संभव है:
- 19. अभिव्यक्ति कैसे बनाएं <Func <गतिशील, गतिशील >> - या यह एक बग है?
- 20. कक्षा में निरंतर << स्वयं ब्लॉक
- 21. प्रिंट क्या है << ईओएफ; और यह कैसे काम कर रहा है?
- 22. क्या कोई इंटरफ़ेस है जो <<और अन्य सभी तुलना ऑपरेटर सक्षम करता है?
- 23. एक std :: primary_queue <> स्वयं को क्रमबद्ध करता है?
- 24. एक प्रकार और प्रभाव प्रणाली क्या है?
- 25. यदि <T1,T2> वास्तविक प्रकार के लिए एक टेम्पलेट है, तो टाइपफ़ोफ़ (ए <,>) क्यों अनुमति है?
- 26. "<%:" क्या करता है?</p> <pre><code><%: Model.FirstName %> </code></pre> <p>क्या "<%:" करता है: कर
- 27. "AsyncFuture <T>" या क्या? भविष्य के <T> पृष्ठभूमि धागे में प्राप्त - क्या यह एक पैटर्न है?
- 28. << पायथन में क्या प्रतिनिधित्व करता है?
- 29. आईआईएस के संस्करणों में <प्रमाणीकरण मोड = "विंडोज़"> का प्रभाव क्या है?
- 30. एक फ़ंक्शन सेट क्यों है?</p> <pre><code>trait Set[A] extends (A => Boolean) </code></pre> <p>इसका कारण यह है प्रकार <code>A</code> contravariant स्थिति में होता है यह असंभव एक covariant अपरिवर्तनीय <code>Set</code> के लिए करते हैं:
उसी नामस्थान में 'अनुरोध' परिभाषित किया गया था? –
अगर अनुरोध 'मैक्रो' था तो यह कुछ कर सकता था। – Mankarse
क्या आप वाकई 'typedef struct अनुरोध अनुरोध 'नहीं थे? –