我正在努力理解'const'和'&'的用法在下面的函数声明中。我知道最后一个const表示函数不能更改类中的成员变量,而conststd::string&message表示传递给函数的变量不能更改,但我不理解constLogger&的含义。第一个"const"的目的是什么?为什么会有一个"&"跟随"Logger"?这个函数是用来返回地址还是指针的?
const Logger& log(const std::string& message) const;
所以const Logger&
是日志的返回类型。const
表示您将根本无法编辑返回值。返回类型Logger&
意味着您将获得对Logger的引用,而不是它的副本