太复杂了
私有地址优先、ipv4优先,这就两个开关了,再加上v4、v6的地址是不是空,总共相当于4个开关,16种情况了。
那这个函数必须有覆盖这16种情况的单元测试用例,主要靠开发人员,不是靠黑盒测试
chatgpt能找出来错误:
在这段代码中,存在一个笔误的低级错误。问题在于使用了引用类型(std::string&)对局部变量进行赋值操作。具体地,ipAddress是通过条件表达式赋值的,它应该直接被赋值为一个string类型的值,而不是一个引用(std::string&)。由于ipAddress在之后被用作值,而不是用来修改address4或者address6的原始值,因此这里使用引用是不恰当的。
引用我一般是优先写为const auto &的,除非需要通过引用来修改原值才写为auto &。
--
修改:z16166 FROM 221.220.171.*
FROM 221.220.171.*