C++函数设计一些技巧(持续更新...)

本文探讨了C++函数设计的一些技巧,包括如何选择正确的参数传递方式(值传递、引用传递)、何时使用函数返回值以及注意事项。强调了在函数参数前加const以防止意外修改,使用const &传递对象以提高效率,明确函数返回值类型,避免返回栈内存的指针或引用,以及在函数入口检查参数有效性等最佳实践。
摘要由CSDN通过智能技术生成

1. 如果函数参数是指针,且仅作输入用,则应在类型前加const,以防止该指针所指内容在函数体内被意外修改。

   例如: void StringCopy(char* strDestination, const char* strSource);

2. 如果输入蚕食以“值传递”的方式传递对象,则宜改用“const &”方式来传递,这样可以省去临时对象的构造和析构过程,从来提高效率。

3. 不要省略函数的返回值类型,如果没有返回值,则应声明为void类型。

4. 如果函数的返回值是一个对象,有些场合用“引用传递”替换“值传递”可以提高效率。而有些场合只能用“值传递”而不能用“引用传递”,否则会出错(如 返回栈内存的指针 或者 返回栈内存的引用,都会报错)。

举例说明:

例子一

String&  String::String(const String& other)

{

    if (this == &other)

    {    

        return *this;

    }

    int len = strlen(other.m_data);

    m_data = new char[len+1];

    strcpy(m_data, other.m_data);

    return *this;

}

分析&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值