内联函数参数传递

Nor*_*löw 11 c++ performance const-reference c++11

内联函数是否需要在性能方面通过const引用传递其参数,如

foo(const T & a, const T &b)
Run Code Online (Sandbox Code Playgroud)

与价值相比

foo(T a, T b)
Run Code Online (Sandbox Code Playgroud)

如果我不改变函数中a和b的值?C++ 11是否会更改此处的具体内容?

Ben*_*igt 12

如果参数是临时的,则按值传递只能忽略复制构造函数调用.

通过const引用传递基本类型在内联函数时没有任何成本.但是按值传递复数左值将强加一个可能很昂贵的复制构造函数调用.所以更喜欢传递const引用(如果别名不是问题).