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