คำถามติดแท็ก survey

8
การ จำกัด การแปลงใน C ++ 0x มันเป็นแค่ตัวฉันเองหรือนี่ฟังดูเหมือนเป็นการเปลี่ยนแปลงอย่างสิ้นเชิง?
C ++ 0x จะสร้างโค้ดต่อไปนี้และโค้ดที่คล้ายกันมีรูปแบบไม่ถูกต้องเนื่องจากต้องมีการแปลงที่เรียกว่าการแปลง a doubleเป็นint. int a[] = { 1.0 }; ฉันสงสัยว่าการเริ่มต้นประเภทนี้ใช้มากในรหัสโลกแห่งความเป็นจริงหรือไม่ การเปลี่ยนแปลงนี้จะเสียรหัสกี่รหัส การแก้ไขในโค้ดของคุณมีความพยายามมากหรือไม่หากโค้ดของคุณได้รับผลกระทบเลย สำหรับการอ้างอิงโปรดดูที่ 8.5.4 / 6 ของ n3225 Conversion ที่แคบลงคือการแปลงโดยปริยาย จากประเภททศนิยมไปยังประเภทจำนวนเต็มหรือ จาก long double ไปเป็น double หรือ float หรือจาก double ไปจนถึง float ยกเว้นที่มาคือนิพจน์คงที่และมูลค่าที่แท้จริงหลังการแปลงอยู่ในช่วงของค่าที่สามารถแสดงได้ (แม้ว่าจะไม่สามารถแสดงได้อย่างแน่นอน) หรือ จากประเภทจำนวนเต็มหรือประเภทการแจงนับที่ไม่ได้กำหนดขอบเขตเป็นประเภทจุด oating ยกเว้นที่มาเป็นนิพจน์คงที่และมูลค่าที่แท้จริงหลังจากการแปลงจะพอดีกับประเภทเป้าหมายและจะให้ค่าเดิมเมื่อแปลงกลับเป็นประเภทเดิมหรือ จากประเภทจำนวนเต็มหรือประเภทการแจงนับที่ไม่ได้กำหนดขอบเขตไปเป็นประเภทจำนวนเต็มที่ไม่สามารถแสดงค่าทั้งหมดของประเภทเดิมได้ยกเว้นที่มาเป็นนิพจน์คงที่และมูลค่าจริงหลังจากการแปลงจะพอดีกับประเภทเป้าหมายและจะสร้างค่าดั้งเดิมเมื่อ แปลงกลับเป็นประเภทเดิม
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.