7
在C ++中执行语句顺序
假设我有许多要按固定顺序执行的语句。我想在优化级别2中使用g ++,因此某些语句可以重新排序。一个人必须使用哪些工具来强制执行某种语句排序? 考虑以下示例。 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(); // Statement 2 auto t1 = Clock::now(); // Statement 1 auto t2 = Clock::now(); // …