एक प्रकार, एक चर या नाम स्थान के लिए एक नया नाम बनाना आसान है। लेकिन मैं एक फ़ंक्शन को एक नया नाम कैसे दे सकता हूं? उदाहरण के लिए, मैं नाम का उपयोग करना चाहते holler
के लिए printf
। # डेफिन स्पष्ट है ... कोई अन्य तरीका?
समाधान:
#define holler printf
void (*p)() = fn; //function pointer
void (&r)() = fn; //function reference
inline void g(){ f(); }
printf
यहां गड़बड़ नहीं कर रहा हूं । वह केवल एक उदाहरण था। यहाँ समस्या कुछ और की तुलना में अंग्रेजी की सीमाओं के साथ अधिक है। मेरा एक एकल कार्य उद्देश्य ए और उद्देश्य बी है, लेकिन मैं यहां दोनों उद्देश्यों की सेवा करने वाला एक भी नाम नहीं पा रहा हूं।
T &a = b;
के लिए एक नया नाम बनाता है b
। typedef
प्रकार के लिए और namespace A=B;
नाम स्थान के लिए।
using BaseClass::BaseClassMethod
, और वहाँ है using AliasType = Type;
, और वहाँ भी है namespace AliasNamespace = Namespace;
। जो हमें याद आ रहा हैusing AliasFunction = Function;
void (&NewName)(some_vector&, float, float, float, float) = OldName;
मेरा अगला चेक इन देखना पसंद है।