码迷,mamicode.com
首页 > 其他好文 > 详细

参数传递方式的选择

时间:2020-04-27 13:24:25      阅读:59      评论:0      收藏:0      [点我收藏+]

标签:const   引用类型   允许   rcm   void   字符串   移动   重要   style   

我们应该将引用类型的参数声明成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.除非万不得已,否则不要使用引用传递。

参数传递方式的选择

标签:const   引用类型   允许   rcm   void   字符串   移动   重要   style   

原文地址:https://www.cnblogs.com/lhb666aboluo/p/12785775.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!