在 C++ 函数中使用 const 和 &

Use of const and & in functions C++

我试图理解 'const' 和“&”在以下函数声明中的用法。我知道最后一个 'const' 表示函数不能更改 class 中的成员变量, 'const std::string& message' 表示传递给函数的变量不能更改,但我不明白意思'const Logger&' 个。第一个 'const' 的目的是什么?为什么 'Logger' 后面有一个“&”?这个函数是指 return 地址还是指针?

const Logger& log(const std::string& message) const;

所以const Logger&是return类型的日志。 const 意味着您将无法编辑 return 值。 return 类型 Logger& 意味着您将获得对 Logger 的引用而不是它的副本。