参数传递方式的选择
Posted lhb666aboluo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了参数传递方式的选择相关的知识,希望对你有一定的参考价值。
我们应该将引用类型的参数声明成const的,以表明我们之所以使用引用只是出于效率上的考虑,而并非想让函数修改对象的值。
例如:
void f(const Large& arg) { //不允许修改"arg"的值 //(除非显式使用类型转换) }
类似的,指针类型的参数被声明成const意味着该指针所指对象的值不会被函数改变。
例如:
int strlen(const char*); //C风格字符串中的字符数量 char* strcpy(char* to, const char* from); //复制一个C风格的字符串 int strcmp(const char*, const char*); //比较两个C风格的字符串
程序规模越大,合理使用const参数就显得越重要。
参数的传递方式的选择:
1.对于小对象使用值传递的方式。
2.对于你无须修改的大对象使用const引用传递。
3.如果需要返回计算结果,最好使用return而非通过参数修改对象。
4.使用右值引用实现移动和转发。
5.如果找不到合适的对象,则传递指针。
6.除非万不得已,否则不要使用引用传递。
以上是关于参数传递方式的选择的主要内容,如果未能解决你的问题,请参考以下文章