在 c++ 中,有多种方法可以将对象作为参数传递给函数。我一直在阅读有关按值传递和引用传递的内容。
这些链接非常有用:
http://www.yoda.arachsys.com/java/passing.html http://www.yoda.arachsys.com/csharp/parameters.html
对于我现在想知道的 c++,我也看到了这篇文章:
http://www.learncpp.com/cpp-tutorial/73-passing-arguments-by-reference/
这些涉及按值传递和引用之间的差异。最后一篇文章也描述了这个问题的一些利弊。我想知道在函数中未修改对象的情况下将参数作为值传递的利弊。
int f(sockaddr_in s) {
// Don't change anything about s
}
int f(sockaddr_in *s) {
// Don't change anything about s
}
两者都允许我访问它拥有的变量。但我想知道我应该使用哪一个,以及为什么。