通过价值传递或通过引用传递

Ter*_* Li 3 c++ parameters pass-by-reference pass-by-value

void Subroutine1(int Parameter1)

void Subroutine2(const int &Parameter1) 
Run Code Online (Sandbox Code Playgroud)

在Subroutine1中,我们必须获得参数的副本,而在Subroutine2中我们不必进行复制,这可能会节省一些开销.

在实践中,Subroutine1似乎比其他更频繁地使用.为什么会这样?

BЈо*_*вић 5

在实践中,Subroutine1似乎比其他更频繁地使用.为什么会这样?

因为复制int比创建引用(或指针)然后访问它更好.

更一般地说,所有原始类型都应该通过值传递.