当作为参数传递给c ++中的函数时,const string&str和string const&str之间有什么区别?

apb*_*per 1 c++ const parameter-passing string-constant

我在函数参数中使用pass引用传递给const字符串,如下所示:

class Super
{
   void alignment(const string & str);
};

void Super::alignment(const string & str)
{
  //do some stuff
}
Run Code Online (Sandbox Code Playgroud)

现在如果我使用如下,它会得到相同的结果:

void Super::alignment(string const & str)
{
  //do some stuff
}
Run Code Online (Sandbox Code Playgroud)

这两种c ++定义有什么区别?

Sho*_*hoe 7

const T&并且T const&在语义上是完全相同的.就像const T*T const*在语义上是相同的,但T const*T* const 不同.