-freciprocal-math
在GCC中更改以下代码
double a = b / c;
Run Code Online (Sandbox Code Playgroud)
至
double tmp = 1/c;
double a = b * tmp;
Run Code Online (Sandbox Code Playgroud)
在GCC手册中,据说这种优化是不安全的,并且不符合IEEE标准.但我想不出一个例子.你能举个例子吗?
我认为在GO语言中,切片通过引用传递.但是为什么以下代码不会改变切片c的内容?我错过了什么吗?谢谢.
package main
import (
"fmt"
)
func call(c []int) {
c = append(c, 1)
fmt.Println(c)
}
func main() {
c := make([]int, 1, 5)
fmt.Println(c)
call(c)
fmt.Println(c)
}
Run Code Online (Sandbox Code Playgroud)
打印结果是:
[0] [0 1] [0]
虽然我在期待
[0] [0 1] [0 1]
我想创建一个可能重复名称的对象列表.例如:
l <- list("a"=1:4, "a"=2:3, "b"=1)
Run Code Online (Sandbox Code Playgroud)
现在我想得到l的元素,其名称为"a"(在这种情况下为l [1]和l [2]).有没有简洁的方法来代替循环名称(l)?谢谢.