【发布时间】:2014-05-17 18:56:29
【问题描述】:
我有一个我应该定义的函数(大学实践),如下所示:
void add_str(char* &a, char* b);
它应该将第二个字符串添加到第一个字符串。 为什么要将 *& 参数传递给函数,什么时候有用?
【问题讨论】:
-
由于您指的是 C 字符串:您的示例中的代码可能无用或错误(不知道/通过 'a' 的容量)
-
@DieterLücking 嗯,这可能不是一个漂亮的方法,但为什么没用/错误?
-
字符串需要以null结尾才能正常工作。
-
问题不是“我的函数什么时候有用”,而是“什么时候传递带有*&有用的参数”。由于这是一个学术示例(如问题中所述),我认为它 相当 可以安全地假设
a与b连接有足够的空间并且两者都是空终止的。 . -
@DieterLücking 正如 snps 所说,字符串以空值结尾,因此 a 的容量不是必需的。
标签: c++ function pointers parameters reference