एक प्रकार, एक चर या नाम स्थान के लिए एक नया नाम बनाना आसान है। लेकिन मैं एक फ़ंक्शन को एक नया नाम कैसे दे सकता हूं? उदाहरण के लिए, मैं नाम का उपयोग करना चाहते hollerके लिए printf। # डेफिन स्पष्ट है ... कोई अन्य तरीका?
समाधान:
#define holler printfvoid (*p)() = fn; //function pointervoid (&r)() = fn; //function referenceinline 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;मेरा अगला चेक इन देखना पसंद है।