参数传递方式的选择

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.除非万不得已,否则不要使用引用传递。

以上是关于参数传递方式的选择的主要内容,如果未能解决你的问题,请参考以下文章

如何绕过将数据模型传递给片段参数以避免事务太大异常?

3.给只读动画添加事件

操作栏选项卡:使用多次实例化的单个片段时如何传递参数

参数传递方式的选择

在C代码中将结构体变量作为参数传递效率忒低

MyBatis DAO层传递参数到mapping.xml