मैं जानना चाहता हूं कि रणनीतियों क्या हैं? (यदि रणनीतियों मौजूद है)।क्या सी में पायथन ट्यूपल्स का अनुकरण करना संभव है?
उत्तर
एक वस्तु है कि विभिन्न बुनियादी प्रकार के एक नंबर से एक पकड़ सकता है लागू करने के लिए सी में एक ठेठ पैटर्न एक struct
युक्त एक तत्व का उपयोग करने के लिए है के साथ सी में LinuxTuples जो संभावित मूल प्रकारों के union
को संग्रहीत किया जा सकता है, और एक तत्व जो enum
है, इस मामले में union
का उपयोग किस प्रकार किया जा रहा है।
फिर आप ऐसी वस्तुओं की एक सरणी का उपयोग कर सकते हैं, शायद struct
के रूप में प्रतिनिधित्व किया गया है जिसमें कई आइटम हैं, और उन वस्तुओं के लिए भंडारण के लिए एक सूचक।
उदा। इस तरह कुछ:
#include <stdio.h>
#include <stdlib.h>
typedef enum tuple_datatype_e {
TUPLE_DATATYPE_INT,
TUPLE_DATATYPE_FLOAT,
TUPLE_DATATYPE_STRING
} tuple_datatype_t;
typedef struct tuple_item_s {
tuple_datatype_t datatype;
union {
int int_val;
float float_val;
char *string_val;
} u;
} tuple_item_t;
typedef struct tuple_s {
unsigned int n_items;
tuple_item_t *items;
} tuple_t;
static void print_tuple(tuple_t *t)
{
unsigned int i;
printf("(");
for (i = 0; i < t->n_items; i++) {
if (i > 0)
printf(", ");
switch (t->items[i].datatype) {
case TUPLE_DATATYPE_INT:
printf("%d", t->items[i].u.int_val);
break;
case TUPLE_DATATYPE_FLOAT:
printf("%f", t->items[i].u.float_val);
break;
case TUPLE_DATATYPE_STRING:
printf("\"%s\"", t->items[i].u.string_val);
break;
}
}
printf(")\n");
}
int main(void)
{
tuple_t foo;
foo.n_items = 3;
foo.items = malloc(sizeof(tuple_item_t) * foo.n_items);
foo.items[0].datatype = TUPLE_DATATYPE_INT;
foo.items[0].u.int_val = 123;
foo.items[1].datatype = TUPLE_DATATYPE_FLOAT;
foo.items[1].u.float_val = 4.56;
foo.items[2].datatype = TUPLE_DATATYPE_STRING;
foo.items[2].u.string_val = "789";
print_tuple(&foo);
return 0;
}
+1 लेकिन ए) मैं tuples के निर्माण और प्रबंधन को संभालने के लिए सहायक कार्यों को लिखूंगा, बी) आपको 'unsigned int n_items' के बजाय 'size_t n_items' का उपयोग करना चाहिए, और सी) टाइपनाम '_t' के साथ समाप्त आरक्षित हैं, इसलिए आपको एक अलग सम्मेलन का उपयोग करना चाहिए। –
सी में पाइथन टुपल्स के सबसे नज़दीक शायद या तो structs या arrays है, इस पर निर्भर करता है कि आप उनका उपयोग कैसे करेंगे।
यदि आप संभावित रूप से विभिन्न प्रकार के संबंधित मानों की निश्चित संख्या को समूहबद्ध करना चाहते हैं तो structs का उपयोग करें।
यदि आप एक ही प्रकार के कई मान और सरणी में अनुक्रमणित करने की क्षमता चाहते हैं तो सरणी का उपयोग करें।
क्या मूल्यों की एक परिवर्तनीय संख्या (विभिन्न प्रकारों) के साथ structs को परिभाषित करना संभव है? शायद एक मैक्रो का उपयोग कर? –
हालांकि बिल्कुल वही नहीं है, एक कॉन्स सरणी में कम से कम कुछ गुण हैं। यदि आपको अधिक सटीक अनुकरण की आवश्यकता है, तो एडीटी चाल कर सकता है।
एडीटी क्या है। (जो मुझे पता है एडीटी सार डेटा प्रकार के लिए है)। –
हां एक अमूर्त डेटा प्रकार :) – harald
एक API
- 1. क्या आईफ्रेम का अनुकरण करना संभव है?
- 2. रूबी में ट्यूपल्स का उपयोग करना?
- 3. क्या ऑक्टेव में पायथन मॉड्यूल का उपयोग करना संभव है?
- 4. क्या javanit परीक्षणों में java.lang.instrument.Instrumentation का उपयोग करना संभव है?
- 5. जावास्क्रिप्ट का गैर-ब्राउज़र अनुकरण - क्या यह संभव है?
- 6. क्या फाइल सिस्टम में फ़ाइलों और निर्देशिकाओं का अनुकरण करना संभव है?
- 7. क्या डब्ल्यूपीएफ आइटम्स कंट्रोल में सीमा-पतन (एला सीएसएस) का अनुकरण करना संभव है?
- 8. क्या सी # प्रोजेक्ट में सी कोड एम्बेड करना संभव है?
- 9. सी में एक बड़े-अंत व्यवहार का अनुकरण/अनुकरण करें?
- 10. क्या Jquery का उपयोग कर Ctrl + F कुंजी संयोजन अनुकरण करना संभव है?
- 11. क्या टेक्स्टमैट में पायथन कोड-पूर्णता लागू करना संभव है?
- 12. सी # - क्या पूल बॉक्स करना संभव है?
- 13. क्या सी के साथ ईजिन का उपयोग करना संभव है?
- 14. क्या सेलेनियम में कैस्परजे और फैंटोमज में ड्रैग और ड्रॉप को अनुकरण करना संभव है?
- 15. क्या बिलबोर्ड sprites अनुकरण करने के लिए ओपनजीएल बिंदु sprites का उपयोग करना संभव है?
- 16. क्या आपके अपने डेटा प्रकार का उपयोग करके एक फ़ंक्शन अनुकरण करना संभव है?
- 17. क्या विंडोज फोन 7 एमुलेटर के लिए दूसरी उंगली का अनुकरण करना संभव है?
- 18. क्या एम्बेडेड मोड में ओकैमल का उपयोग करना संभव है?
- 19. क्या ग्लोबल का उपयोग न करने वाले PHP 5.2.x में बंद करना अनुकरण करना संभव है?
- 20. क्या सी # में सरणी विस्तार करना संभव है?
- 21. क्या सी # में जटिल स्वर उत्पन्न करना संभव है?
- 22. क्या विंडोज़ में ऑब्जेक्टिव-सी प्रोग्राम निष्पादित करना संभव है?
- 23. क्या Python से re2 का उपयोग करना संभव है?
- 24. क्या सी # में इवेंट हैंडलर को "चेन" करना संभव है?
- 25. क्या मैटलैब में मैट्रिक्स का संदर्भ प्राप्त करना संभव है?
- 26. सी ++ में रेगेक्स का उपयोग करना संभव है?
- 27. क्या सी/सी ++ में एसक्यूएल स्टेटमेंट्स को SQLite डेटाबेस को प्रोग्रामेटिक रूप से परिवर्तित करना संभव है?
- 28. पायथन win32 अनुकरण
- 29. क्या सी # में एक कन्स्ट्रक्टर को ओवरराइड करना संभव है?
- 30. क्या सी में ऑपरेटरों को अधिभारित करना संभव है?
सी ++ में, आप TR1 या बूस्ट टुपल लाइब्रेरी का उपयोग कर सकते हैं। –
anno
जानकारी के लिए धन्यवाद, लेकिन मेरे मामले में सी ++ एक विकल्प नहीं है। –
पायथन एक वर्चुअल मशीन पर चलने वाली गतिशील भाषा है। सी नंगे हड्डियों मशीन कोड के लिए संकलित। सी में पाइथन ट्यूपल के सटीक अर्थशास्त्र प्राप्त करने का कोई तरीका नहीं है, आप पाइथन ट्यूपल की क्या विशेषताएं देख रहे हैं? निरंतर तत्वों की मनमानी मात्रा का समूह बनाना? एकाधिक असाइनमेंट? सरणी सूचकांक द्वारा एक्सेस? – rossipedia