2

我有一个函数,我需要将一个值传递给只读目的。

例如:

unsigned short strlen(String str)
{
  short i = 0;
  while(str[i] != '\0')
    i++;
  return i;
}

如您所见,我不想更改我使用的原始值,我只需要读取它的长度。String str就性能而言,将参数替换为原始变量的副本会更好String &str吗?

4

1 回答 1

5

就性能而言,是否会更好地将参数 String str 替换为 String &str 之类的引用,该参数正在复制原始变量?

是的,它会的。而不是创建一个您似乎不需要的副本,而是绑定一个引用。由于您没有修改对象,因此参考const会更好:

unsigned short strlen(String const& str)
//                           ^^^^^^
于 2013-04-27T18:12:08.283 回答