2014-04-10 6 views
6

C11 मानक एक तारक की धारा 6.4.1 में कीवर्ड की सूची में प्रकट होता है:क्या सी * में एक शब्द `*` (तारांकन) है?

keyword: one of 
    auto  ∗ if  unsigned 
    break  inline void 
    ... 

इस ओर इशारा करती है कि * एक कीवर्ड है?

यदि नहीं, तो यहां इसका उपयोग क्या है?

+4

यह एक कीवर्ड नहीं है, लेकिन एक ओवरलोडेड ऑपरेटर है। –

+2

@leeduhem प्रश्न सी 11 विनिर्देश को संदर्भित करता है, सी ++ 11 विनिर्देश नहीं। –

+1

@ जेफरी थॉमस इन सी, '* 'में कई कार्य भी हैं, दूसरे शब्दों में, यह एक अंतर्निहित ओवरलोडेड ऑपरेटर है। –

उत्तर

8

यह एक अलग चिह्न है।

सार N1570 की (p.1) में: नष्ट कर दिया पाठ के साथ 'चिह्नित है:

पिछले मसौदे से

परिवर्तन (N1539) सही मार्जिन में' diff के निशान '' से दर्शाया जाता है '*' ',' '' 'के साथ नया या परिवर्तित पाठ।

N1539 मसौदा में, alignof एक कीवर्ड था, कि तालिका की पहली पंक्ति पर प्रदर्शित होने:

N1750alignof गिरा दिया और _Alignof से बदल दिया।

"*" की नियुक्ति थोड़ा अजीब लगती है, लेकिन यह निश्चित रूप से * ऑपरेटर का संदर्भ नहीं देती है।

+0

यह 'if' के बगल में क्यों दिखाई देता है? – Thanatos

+0

@ तानाटोस: मैंने उस पते का जवाब अपडेट कर दिया है। –

+0

@ किथ थॉम्पसन आपके सुधार के लिए धन्यवाद। –

संबंधित मुद्दे