以下有什么不同吗
void Name(const std::string &name) {
std::cout << "Name: " << name << std::endl;
}
void Name2(const std::string& name) {
std::cout << "Name: " << name << std::endl;
}
用c++ 17 g++测试好像没有什么区别
简短回答:没有区别。
长答案:
差异,从谁的角度来看?
从编译器的角度来看,没有区别。
从人类读者的角度来看,
std::string& name
有意义,而std::string &name
没有意义。 (当然,让火焰战争开始。战斗!)