सी ++ प्रश्न यहां। मेरे पास एक प्रणाली है जहां मुझे दिए गए सुपरक्लास के सैकड़ों मिनी-सबक्लास हैं। उन सभी में एक "foo" विधि होगी जो कुछ करता है। या ... मेरे पास "टाइप" नामक एक पूर्णांक वाला एक वर्ग होगा और यह तय करने के लिए एक विशाल स्विच स्टेटमेंट का उपयोग करें कि मैं कब करूं।vftable प्रदर्शन जुर्माना बनाम स्विच स्टेटमेंट
प्रदर्शन यहां एक बड़ा विचार है। अत्यंत महत्वपूर्ण।
सवाल यह है कि स्विच स्टेटमेंट बनाम प्रदर्शन करने के प्रदर्शन लाभ/दंड क्या हैं? सी ++ इसे vftable के माध्यम से करते हैं? यदि मेरे पास स्विच स्टेटमेंट के रूप में है, तो मैं स्विच स्टेटमेंट के शीर्ष पर सामान्य रूप से प्रक्षेपित फू को ऊपर रख सकता हूं और तुलना में कम आम लोगों को उम्मीद कर सकता हूं। Vftable के साथ इस तरह का प्रभाव प्राप्त करने की कोशिश करने के लिए संकलक निर्भर है, भले ही मैं इसे कैसे समझूं ...
दूसरी ओर, मेरे कोड को इनके साथ निपटने के लिए बहुत आसान होगा बदसूरत स्विच स्टेटमेंट्स।
शायद आपको मेटाप्रोग्रामिंग libs पर विचार करना चाहिए और देखें कि वे आपकी समस्या का समाधान कर सकते हैं या नहीं। –
सी ++ कार्यकारी समूह ने सी ++ प्रदर्शन पर एक रिपोर्ट की और वर्चुअल फ़ंक्शंस के बारे में चिंताओं को संबोधित किया। लिंक देखें [यहां] (http://www.open-std.org/jtc1/sc22/wg21/docs/TR18015.pdf) – sashang
संकलक बयानों को पुन: व्यवस्थित करने के लिए स्वतंत्र है, जब तक कि पतन-माध्यम संरक्षित न हो , इस प्रकार आपके पास कोई गारंटी नहीं है (मानक से) कि सबसे लगातार मामलों का परीक्षण पहले किया जाएगा ... –