मैं सिर्फ आज सीखा एक (कुछ) N1570 और अंतिम C11 मानक (आईएसओ/आईईसी 9899: 2011 (ई)) के बीच महत्वपूर्ण परिवर्तन किया गया है।
N1570 में, 6.3.2p3 का कहना है:
जब यह sizeof
ऑपरेटर के संकार्य है के अलावा, _Alignof
ऑपरेटर, या एकल &
ऑपरेटर, या एक स्ट्रिंग शाब्दिक करने के लिए इस्तेमाल एक प्रारंभ है सरणी, एक अभिव्यक्ति टाइप कि सरणी वस्तु के प्रारंभिक तत्व को बताते हैं और एक lvalue नहीं है "प्रकार सूचक" के साथ प्रकार एक अभिव्यक्ति में बदल जाती है "प्रकार की सरणी" है।
_Alignof
के शामिल किए जाने के लिए एक एकल-अभिव्यक्ति की वाक्य रचना के बाद से एक त्रुटि हुई, परमिट
_Alignof (type-name)
नहीं बल्कि
_Alignof unary-expression
जारी किया C11 मानक इस त्रुटि को सही और reverts सी 99 शब्द के लिए:
जब यह sizeof
ऑपरेटर के संकार्य, या एकल &
ऑपरेटर है, या एक स्ट्रिंग शाब्दिक एक सरणी, एक अभिव्यक्ति टाइप "प्रकार की सरणी" है कि प्रारंभ करने में प्रयोग किया जाता है सिवाय एक अभिव्यक्ति में बदल जाती है टाइप के साथ "पॉइंटर टाइप" जो कि एरे ऑब्जेक्ट के प्रारंभिक तत्व को इंगित करता है और यह एक अंतराल नहीं है।
अधिक जानकारी: हाल ही में एक पोस्टिंग N1570 और जारी की मानक, लैरी जोन्स, आईएसओ सी समिति के एक सदस्य के बीच मतभेदों के बारे में comp.std.c करने के लिए, ने लिखा:
एक
रहे हैं उनमें से संख्या, लेकिन अधिकांश मामूली संपादकीय tweaks हैं, बॉयलरप्लेट पाठ में परिवर्तन, और शक्तियों को खुश रखने के लिए चारों ओर चीजें shuffling। सबसे बड़ा परिवर्तन से _Alignof को हटा रहा था, जहां इसे जोड़ा नहीं जाना चाहिए था (गलत धारणा के आधार पर कि यह किसी प्रकार या अभिव्यक्ति जैसा आकार करता है जब यह वास्तव में केवल एक प्रकार लेता है): 6.3। 2.1 पी 2, पी 3, पी 4, एफएन। 65; और 6.7.1 एफएन। 121.
संदेश- ID: <[email protected]>
यहाँ the thread रूप groups.google.com पर देखा है।
comp.std.c पर लैरी जोन्स द्वारा एक टिप्पणी के अनुसार एन1569 (जो परिवर्तन चिह्नकों के बिना एन 1570 है) में कोई महत्वपूर्ण बदलाव नहीं थे। एकमात्र चीज जो अनसुलझा बनी हुई है वह '__STDC_VERSION__' के लिए मान है, लेकिन मुझे लगता है कि सबसे स्वाभाविक रूप से यह' 201112L' होगा। –
उस जानकारी के लिए धन्यवाद, @JensGustedt। बीटीडब्ल्यू, मैं एन 1570 से जुड़ा हुआ हूं क्योंकि वह लिंक सार्वजनिक रूप से सुलभ है; n1569 भी डाउनलोड किया जा सकता है, लेकिन सीधे नहीं। –
@JohanBezem, वे भी भूल गए? तो हम पहली दोष रिपोर्ट जारी कर सकते हैं :) सौभाग्य से यह केवल पूर्णांक का उपयोग करता है, इसलिए '201100L' के खिलाफ परीक्षण करके कुछ भी सुरक्षित होना चाहिए। –