gru*_*czy 0 c++ const compiler-optimization
我想更好地了解如何更改函数签名:
void foo(double x);
Run Code Online (Sandbox Code Playgroud)
至:
void foo(const double x);
Run Code Online (Sandbox Code Playgroud)
如果我们不修改x里面,可能会导致代表编译器的一些优化技巧.有人可以给我一个具体的具体例子吗?
你所做的改变没有效果. x在两种情况下都按值传递,因此声明它const不会影响调用站点上的任何内容.唯一不同的是,里面的实现的foo,你将不会被允许修改x在第二种情况下.没有理由给自己这样的限制 - 如果你不修改x,编译器可能会做出适当的优化,即使没有const.