ร่างมาตรฐาน ISO C++

ในมาตรฐาน ISO C++ : ร่างการทำงานล่าสุดคือ n3291 ซึ่งไม่เปิดเผยต่อสาธารณะ แต่ n3290 พร้อมใช้งาน จนถึงเดือนกุมภาพันธ์ ร่างคือ n3242 ฉันขอทราบตอนนี้ได้ไหม .. ร่างไหนถูกต้องกว่าที่จะเป็นร่างสุดท้าย? เนื่องจากมีความแตกต่างมากมายใน n3242 เมื่อเทียบกับ n3290 ?

ในลิงค์นี้พวกเขายังให้ ..: ร่างการทำงานปัจจุบันเป็น n3242 ? (ทำไมไม่ n3290)

http://www.open-std.org/jtc1/sc22/wg21/

http://en.wikipedia.org/wiki/C%2B%2B0x

โปรดบอกฉันว่าฉบับร่างใดถูกต้องให้ปฏิบัติตาม (จนถึงฉบับร่างสุดท้าย) ?


person user751747    schedule 30.08.2011    source แหล่งที่มา
comment
หากมีอยู่ใน open-std.org/Jtc1/sc22 /wg21/docs/papers/2011 ร่างตัวเลขสูงสุดคือเวอร์ชันที่ใช้งานได้ในปัจจุบัน (ปัจจุบันคือ n3291)   -  person Martin York    schedule 30.08.2011


คำตอบ (2)


ในขณะที่ n3291 พร้อมใช้งานจาก URL ที่ชัดเจน (เพียงค้นหาและแทนที่ n3242 ด้วย n3291 ในลิงก์ Wikipedia) แต่ฉันเดาว่าคงมีคนตัดสินใจว่ามันใกล้เคียงกับเวอร์ชันสุดท้ายมากเกินไป ดังนั้นจึงไม่สามารถเข้าถึงได้อีกต่อไป

ดังนั้นวิกิพีเดียจึงไม่ลิงก์ไปเพราะไม่มีอะไรให้ลิงก์ไป

ฉันเก็บสำเนาของ n3291 ไว้ในขณะที่ยังมีอยู่ ฉันยังไม่ได้ค้นหาอย่างละเอียด แต่ดูเหมือนจะไม่มีการเปลี่ยนแปลงที่สำคัญ คำชี้แจงเท่านั้น ตัวอย่างเช่น ส่วนที่ 1.8 (6) ของ n3242 อ่านว่า:

เว้นแต่ว่าวัตถุจะเป็นบิตฟิลด์หรือวัตถุย่อยของคลาสพื้นฐานที่มีขนาดเป็นศูนย์ ที่อยู่ของวัตถุนั้นคือที่อยู่ของไบต์แรกที่วัตถุนั้นครอบครอง วัตถุที่แตกต่างกันสองรายการที่ไม่ใช่บิตฟิลด์หรือวัตถุย่อยของคลาสพื้นฐานที่มีขนาดเป็นศูนย์จะต้องมีที่อยู่ที่แตกต่างกัน

ในขณะที่ส่วนเดียวกันของ n3291 อ่านว่า:

เว้นแต่ว่าวัตถุจะเป็นบิตฟิลด์หรือวัตถุย่อยของคลาสพื้นฐานที่มีขนาดเป็นศูนย์ ที่อยู่ของวัตถุนั้นคือที่อยู่ของไบต์แรกที่วัตถุนั้นครอบครอง วัตถุสองชิ้นที่ไม่ใช่บิตฟิลด์อาจมีที่อยู่เดียวกัน ถ้าวัตถุหนึ่งเป็นวัตถุย่อยของอีกวัตถุหนึ่ง หรือถ้าอย่างน้อยหนึ่งวัตถุนั้นเป็นวัตถุย่อยของคลาสฐานที่มีขนาดเป็นศูนย์และมีประเภทต่างกัน มิฉะนั้นจะต้องมีที่อยู่ที่ชัดเจน

(n3291 ใช้ข้อความสีน้ำเงินขีดทับสีแดงและขีดเส้นใต้เพื่อเน้นการเปลี่ยนแปลงจาก n3242 ดังนั้นจึงหาตัวอย่างนี้ได้ไม่ยาก)

หากมีใครสามารถโต้แย้งได้อย่างน่าเชื่อถือว่าการเผยแพร่ n3291 อีกครั้งจะถูกกฎหมาย ฉันยินดีที่จะเผยแพร่ แน่นอนฉันไม่จำเป็นต้องป้อนรหัสผ่านใด ๆ หรือแม้แต่คลิกข้อตกลงก่อนที่จะดาวน์โหลด...

[อัปเดต: ในคำตอบเวอร์ชันแรกของฉัน ฉันเขียน "n3290" เมื่อฉันหมายถึง "n3291" ค่อนข้างแปลกที่ "Working Draft" มีจำนวนมากกว่า "เวอร์ชันสุดท้าย" อย่างไรก็ตาม สิ่งที่หาได้ฟรีมาสักระยะหนึ่งก็คือ n3291]

[อัปเดต 2: N3337 คือ ร่างเริ่มต้นของมาตรฐาน C++ ถัดไป และคล้ายกับมาตรฐานขั้นสุดท้ายของ C++11 มาก ดู:

หมายเลขส่วนแตกต่างกันระหว่างมาตรฐาน C++11 และแบบร่างฟรี N3337 หรือไม่

ดังนั้นคุณจึงมีตัวเลือกร่างฟรี อันสุดท้ายก่อนมาตรฐานอย่างเป็นทางการ (N3242) และอันแรกหลังจากนั้น (N3337) ดูเหมือนว่าทั้งหมดจะใช้การกำหนดหมายเลขย่อหน้าเดียวกัน]

person Nemo    schedule 30.08.2011
comment
@ Nemo: ฉันขอทราบ .. ของคุณในที่สุด ... :) ว่า n3290 เป็นหนึ่งที่ดีที่สุดหรือ n3242 ? - person user751747; 30.08.2011
comment
n3291 เป็นเพียงเวอร์ชันอัปเดตของ n3242 อย่างที่ฉันพูดไปแล้ว ฉันเชื่อว่าการเปลี่ยนแปลงทั้งหมดนั้นเล็กน้อย (เหมือนกับตัวอย่างที่ฉันให้ไป หรือชอบเพิ่ม noยกเว้น ให้กับฟังก์ชันทั้งหมดในส่วนหัว <atomic>) n3242 นั้นเพียงพออย่างยิ่งสำหรับ IMO ทั้งหมด ยกเว้นจุดประสงค์ที่คลุมเครือที่สุด - person Nemo; 30.08.2011
comment
@user - N3290 คือมาตรฐานใหม่ (บันทึกการตรวจตัวสะกดและการพิมพ์) - person Bo Persson; 30.08.2011
comment
@nemo - เมื่อพิจารณาว่าผู้จัดพิมพ์ดั้งเดิมมีการป้องกันด้วยรหัสผ่านเอกสาร ฉันเดาว่าพวกเขา ไม่ ต้องการให้ผู้อื่นเผยแพร่ ISO จะเผยแพร่ฉบับทันทีที่ออกจากร้านพิมพ์ เร็วๆ นี้! - person Bo Persson; 30.08.2011
comment
ประเด็นในทางปฏิบัติที่สำคัญที่สุดน่าจะเป็น: การอ้างอิงถึงหมายเลขย่อหน้าใน n3242 ตรงกับมาตรฐานจริงหรือไม่ ดูเหมือนว่าคำตอบคือใช่ ดี! - person Sjoerd; 30.08.2011

ความแตกต่างระหว่าง N3290 และ N3291 คือหน้าชื่อเรื่อง N3291 ระบุว่า "Working Draft;" อีกอันหนึ่งไม่ได้ นอกนั้นก็พูดเหมือนกัน

น่าเศร้าที่ไม่มีให้บริการทางออนไลน์เนื่องจากปัญหา ISO มาตรฐานขั้นสุดท้ายอาจมีการเปลี่ยนแปลงเพียงเล็กน้อยจาก N3290 เท่านั้น ดังนั้นจึงใกล้จะถึงขั้นสุดท้ายเกินกว่าจะเผยแพร่ได้ โดยเฉพาะอย่างยิ่งเมื่อพิจารณาว่า N3291 ได้รับการโหวตให้เป็น FDIS

person Nicol Bolas    schedule 30.08.2011
comment
@ user751747: ต้องการอะไรในแง่ของพวกเขา? เว้นแต่ว่าคุณมี N3290/91 จริงๆ คุณก็คงไม่ได้รับมัน ดังนั้น N3242 จึงเป็นสิ่งที่ดีที่สุดที่คุณจะได้รับ - person Nicol Bolas; 30.08.2011