यह भयानक है। कृपया मत करो, कृपया। बेवकूफ सी ++ लिखें, कुछ मैक्रो-रिडल राक्षसता नहीं। सामान्यतः, यह अत्यंत बहुत विशिष्ट मामलों (जैसे BOOST_FOREACH
मैक्रो) को छोड़कर, इस तरह के मैक्रोज़ को परिभाषित करने के लिए खराब अभ्यास है।
जिसके अनुसार, and
, or
और not
वास्तव में पहले से ही मान्य उपनाम हैं &&
, ||
और सी में !
के लिए ++!
यह सिर्फ इतना है कि विजुअल स्टूडियो केवल उन्हें जानता है यदि आप पहले मानक शीर्षलेख <ciso646>
शामिल करते हैं। अन्य कंपाइलरों को इसकी आवश्यकता नहीं है।
प्रकार कुछ और हैं।संदर्भ के आधार पर प्रकार उपनाम बनाने के लिए typedef
का उपयोग करना समझ में आता है अगर यह कोड की अभिव्यक्ति को बढ़ाता है। फिर इसे प्रोत्साहित किया जाता है। हालांकि, उपनाम के बजाय अपने प्रकार बनाने के लिए भी बेहतर होगा। उदाहरण के लिए, मैं कल्पना नहीं कर सकता कि यह कभी भी std::string
के लिए उपनाम बनाने के लिए फायदेमंद है - क्यों न केवल std::string
का उपयोग करें? अगर हर सी ++ डेवलपर तो क्यों नहीं अपने उपनाम से परिचित था (इसका अपवाद के पाठ्यक्रम सामान्य डाटा संरचनाओं और एल्गोरिदम कर रहे हैं।)
स्रोत
2010-11-25 21:39:12
आप अन्य चाहते हैं डेवलपर्स जो आपकी परियोजनाओं में शामिल होने के लिए उत्पादक होने की प्रार्थना करते हैं, नहीं। – cdhowie
क्या आपने 'start'' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '~~~~~~~~~~~ – FrustratedWithFormsDesigner
मैंने निश्चित रूप से केवल ऑपरेटरों के लिए ऐसा किया क्योंकि मेरा मानना है कि "प्राकृतिक" लोग बेहतर पढ़ते हैं। आपके द्वारा उल्लेखित सभी उदाहरण निश्चित रूप से खराब होंगे। –