सरल और कम से कम निकला हुआ जिस तरह से, संकलक को इंगित करने के लिए संकलक विकल्प, #define
रों, typedef
रों, या टेम्पलेट्स के माध्यम से है कि क्या क्या है, कि हर बार जब मैं कहता हूँ T
, मैं वास्तव में मतलब T const
? मैं बाहरी प्रीप्रोसेसर का उपयोग न करना पसंद करूंगा। चूंकि मैं mutable
कीवर्ड का उपयोग नहीं करता, इसलिए यह परिवर्तनीय स्थिति को इंगित करने के लिए पुन: प्रयोजन के लिए स्वीकार्य होगा।डिफ़ॉल्ट बनाएँ द्वारा लगातार सभी प्रकार C++
संपादित करें: के बाद से इस की मंशा गलत था पूरी तरह (और के बाद से मैं चारों ओर कुछ ही घंटों स्पष्ट करने के लिए नहीं था), मुझे समझाती हूँ। संक्षेप में, मैं सिर्फ यह जानना चाहता हूं कि संकलन समय पर टाइप सिस्टम में हेरफेर करने के लिए कौन सी सिस्टम उपलब्ध हैं। मुझे कोई परवाह नहीं है अगर यह गैर मानक, खराब, अस्पष्ट, बेकार कोड बनाता है। मैं इसे उत्पादन में उपयोग नहीं कर रहा हूं। यह सिर्फ एक जिज्ञासा है।
संभावित (सबऑप्टिमल) समाधान अब तक:
// I presume redefinition of keywords is implementation-defined or illegal.
#define int int const
#define ptr * const
int i(0);
int ptr j(&i);
typedef int const Int;
typedef int const* const Intp;
Int i(0);
Intp j(&i);
template<class T>
struct C { typedef T const type; typedef T const* const ptr; };
C<int>::type i(0);
C<int>::ptr j(&i);
-1। – piotr
हम अस्पष्ट हैं कि आप इससे क्या हासिल करने की कोशिश कर रहे हैं। निश्चित रूप से यह सिर्फ टाइपिंग कॉन्स से बचने की कोशिश नहीं कर रहा है।या किसी अन्य तरीके से पूछने के लिए: क्या आप हमें बता सकते हैं कि इन कॉन्स प्रकारों को प्राप्त करके आप क्या हासिल कर सकते हैं? आपके अंतिम उद्देश्य के लिए एक बेहतर दृष्टिकोण हो सकता है। । – MtnViewMark
@MtnViewMark: मैं ईमानदारी से यह जानकर उत्सुक था कि संकलन समय पर प्रकार प्रणाली में हेरफेर करने के लिए क्या साधन उपलब्ध हैं। वास्तविक अभ्यास शायद मामूली में कोई फर्क नहीं पड़ता। मैं @ piotr मुझे downvoting खोजने के लिए आश्चर्यचकित था। –