स्थैतिक प्रेषण: Difference between revisions

From Vigyanwiki
No edit summary
 
Line 48: Line 48:
{{Reflist}}
{{Reflist}}
* https://developer.apple.com/swift/blog/?id=27
* https://developer.apple.com/swift/blog/?id=27
[[Category: बहुरूपता (कंप्यूटर विज्ञान)]]




{{prog-lang-stub}}
{{prog-lang-stub}}


 
[[Category:All stub articles]]
 
[[Category: Machine Translated Page]]
[[Category:Created On 16/06/2023]]
[[Category:Created On 16/06/2023]]
[[Category:Vigyan Ready]]
[[Category:Lua-based templates]]
[[Category:Machine Translated Page]]
[[Category:Pages with script errors]]
[[Category:Programming language topic stubs]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates that add a tracking category]]
[[Category:Templates that generate short descriptions]]
[[Category:Templates using TemplateData]]
[[Category:बहुरूपता (कंप्यूटर विज्ञान)]]

Latest revision as of 17:59, 16 July 2023

कम्प्यूटिंग में, स्थैतिक प्रेषण बहुरूपता (कंप्यूटर विज्ञान) का एक रूप है जो संकलन समय के समय पूरी तरह से हल हो गया है। यह विधि प्रेषण का एक रूप है, जो बताता है कि कैसे भाषा या वातावरण चयन करेगा कि किस विधि या फ़ंक्शन का उपयोग करना है।[1]

उदाहरण में C++में टेम्प्लेट, और अन्य भाषाओं में सामान्य प्रोग्रामिंग, फ़ंक्शन ओवरलोडिंग (ऑपरेटर ओवरलोडिंग सहित) के संयोजन में हैं। कोड को मोनोमोर्फिज्म (कंप्यूटर विज्ञान) कहा जाता है, जिसमें सामान्य कार्यों के विशिष्ट संस्करणों को तुरंत चालू करने और आपूर्ति की गई परिभाषाओं के आधार पर विशिष्ट फ़ंक्शन कॉल का चयन करने के लिए कॉल ग्राफ़ के माध्यम से विशिष्ट डेटा प्रकारों को निकाला और पता लगाया जाता है।

यह डायनेमिक डिस्पैच के विपरीत है, जो रनटाइम सूचना (जैसे वी टेबल पॉइंटर्स और रन टाइम प्रकार की जानकारी के अन्य रूप) पर आधारित है।

स्टेटिक डिस्पैच संभव है क्योंकि इस बात की प्रत्याभूति है कि प्रश्न में विधि का केवल एक ही कार्यान्वयन होगा। स्टेटिक डिस्पैच सामान्यतः गतिशील प्रेषण की तुलना में तेज़ होता है, जो स्वभाव से अधिक ओवरहेड होता है।

रस्ट में उदाहरण

जंग में (प्रोग्रामिंग भाषा)।[2]

trait Speak {
    fn speak(&self);
}

struct Cat;

impl Speak for Cat {
    fn speak(&self) {
        println!("Meow!");
    }
}

fn talk<T: Speak>(pet: T) {
    pet.speak();
}

fn main() {
    let pet = Cat;
    talk(pet);
}

संकलित होने पर जंग इसे मोनोमोर्फाइज करेगा:

fn talk_cat(pet: Cat) {
    pet.speak();
}


यह भी देखें

  • गतिशील प्रेषण

संदर्भ

  1. क्लोजर के तत्व. Lulu.com. 2019. p. 68. ISBN 9780359360581. Retrieved 17 July 2022.
  2. "सामान्य डेटा प्रकार - जंग प्रोग्रामिंग भाषा". doc.rust-lang.org.