函数声明中“const”的含义

时间:2013-12-07 05:52:48

标签: c++ const

我有一个包含3个const的函数:

const std::string at(const unsigned int index) const;

据我了解,参数( const unsigned int index)意味着不会更改索引。那另外两个const呢?他们为什么在那里?

3 个答案:

答案 0 :(得分:1)

第一个const表示返回类型是const,第二个const表示参数是const,第三个const表示函数是const函数...

这个问题实际上是重复的...请点击此链接

C++ Const Usage Explanation

答案 1 :(得分:1)

C ++中的const keywoard表示特定对象或变量不可修改。它可以在各种环境中使用:

Const变量

在函数内部声明变量const表示该函数内部不会修改该变量。

Const成员函数

将成员函数声明为const,通过将const附加到函数原型的末尾来完成,表明该函数是一个“只读”函数,不会修改对象它被称为。


const可行性规则是const - 可以应用于非const变量或成员函数,但一旦应用,就无法删除。

答案 2 :(得分:0)

const std :: string at( const unsigned int index) const ; 在这个例子中,左边的第一个const是返回类型的常量,这意味着它将返回的任何值只能保存在一个const变量中(甚至可以改变数据属性的类型转换)。 第二个const就像你说的那样是正确的。 第三个const表示函数是常量函数。这意味着在该函数内部,您不会修改任何会改变对象状态的变量。 如果要修改const函数内的任何类或全局变量,则编译器将抛出错误。