7
บังคับใช้คำสั่งคำสั่งใน C ++
สมมติว่าฉันมีคำสั่งจำนวนหนึ่งที่ฉันต้องการดำเนินการตามลำดับคงที่ ฉันต้องการใช้ g ++ กับการเพิ่มประสิทธิภาพระดับ 2 ดังนั้นจึงสามารถจัดเรียงคำสั่งใหม่ได้ มีเครื่องมืออะไรบ้างในการบังคับใช้คำสั่งบางอย่าง ลองพิจารณาตัวอย่างต่อไปนี้ using Clock = std::chrono::high_resolution_clock; auto t1 = Clock::now(); // Statement 1 foo(); // Statement 2 auto t2 = Clock::now(); // Statement 3 auto elapsedTime = t2 - t1; ในตัวอย่างนี้เป็นสิ่งสำคัญที่จะต้องดำเนินการคำสั่ง 1-3 ตามลำดับที่กำหนด อย่างไรก็ตามคอมไพเลอร์ไม่สามารถคิดว่าคำสั่ง 2 เป็นอิสระจาก 1 และ 3 และรันโค้ดดังนี้ได้หรือไม่? using Clock=std::chrono::high_resolution_clock; foo(); …