const T& value() const 是什么意思?
What does const T& value() const mean?
在John Mongan的《Programming Interviews Exposed》一书中(见第33页),有一个单向链表元素的函数声明:
const T& value() const {...}
我了解方法名称之前的所有内容的含义,即它是对模板数据类型的引用,您不能修改,但是 value() 后面的额外 const 表示什么?一个恒定的参考?我认为引用已经是恒定的(即对象的不可更改别名)。
const T& value() const {...}
这意味着函数value()
将返回const T&
类型,并且介于两者之间(在函数中)不会修改类本身。假设我写:
class Cfoo
{
void foo() const
{
//Cfoo will not be modified here
}
}
如果我直接引用 MS 文档:
使用 const 关键字声明成员函数指定该函数是"只读"函数,不会修改为其调用的对象。常量成员函数不能修改任何非静态数据成员,也不能调用任何不常量的成员函数。
方法名称后面的const
表示该方法不修改对象的任何字段。 因此,可以在对象的const
实例上调用它。
相关文章:
- 初始化或分配空字符串文字到指向 C 中的 char 的指针或指向 C++ 中 const char 的指针的原因是什么
- 在C++17中,引用const字符串的语义应该是什么
- 在只读(即 const)访问器上执行结构化绑定的最佳实践是什么?
- "char const * name() const _WEBSOCKETPP_NOEXCEPT_TOKEN_ {"剂量是什么意思
- 语法问题:"char [5] const &"是什么意思?
- 'note: 候選人: Volume& Volume::operator=(const Volume&)'.这个错误是什么?
- 在下面函数的返回中添加 const 限定符的重要性是什么?
- int(int)& 或 int(int) const &是什么类型?
- 这个(const vector<vector<int> > &A)"代码段是什么意思?
- classname functionname(const classname & objectname)是什么意思?
- const自动参考绑定到(NULL)指针 - 实际类型是什么
- "const char(&a)[N]"是什么意思?
- "inline operator T*() const"是什么意思?
- 过载"operator X*() const"是什么意思?
- const T& value() const 是什么意思?
- 函数头后面的const是什么意思
- const T*const是什么意思
- 函数声明(虚拟无效打印标记表() const = 0;)中函数名称后"Type Qualifier (const)"是什么意思?
- 在C++重载运算符时"const"是什么意思
- C++:"T const *[]"是什么意思?