·

方法二创建的临时变量也可以优化掉吧,CPU将*i和*j取到两个寄存器中,然后交换地写入内存。即使是出现了内存别名使用的情况,函数执行的结果也是正确的

Replies
3

你说得对,我满脑子都是不优化的场景,想着方法二还有函数调用开销,但实际上三个都可以优化函数也能inline掉,开启-O1后的结果几乎一模一样,现代编译器还是很强大的