1' *_* -- 2 c c++ variables parameters reference
我有一个函数,我需要传递一个值只用于只读目的.
例如:
unsigned short strlen(String str)
{
short i = 0;
while(str[i] != '\0')
i++;
return i;
}
Run Code Online (Sandbox Code Playgroud)
如您所见,我不想更改我使用的原始值,我只需要读取它的长度.它是否 - 在性能方面 - 更好地替换参数String str,即通过类似的参考来制作原始变量的副本String &str?
它是否 - 在性能方面 - 更好地替换参数String str,它是一个像String&str这样的引用来制作原始变量的副本?
是的,它会的.而不是创建一个您似乎不需要的副本,而是绑定引用.由于您没有修改对象,因此引用const会更好:
unsigned short strlen(String const& str)
// ^^^^^^
Run Code Online (Sandbox Code Playgroud)