& 在 c++ 中类型之后或参数名称之前

问题描述 投票:0回答:1

以下有什么不同吗

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++测试好像没有什么区别

c++ c++17
1个回答
0
投票

简短回答:没有区别。

长答案:

差异,从谁的角度来看?

从编译器的角度来看,没有区别。

从人类读者的角度来看,

std::string& name
有意义,而
std::string &name
没有意义。 (当然,让火焰战争开始。战斗!)

© www.soinside.com 2019 - 2024. All rights reserved.