class 中的 c++ 常量函数

c++ constant function in class

你好有人能解释一下函数声明前面的const是什么意思吗:

const void function(parameters);

我知道,这意味着你不能修改它returns,但是我们如何才能修改它returns?感谢您的任何回复。

完全没有任何意义。该函数不 return 任何内容,因此 const 修饰符不修改任何内容。

要回答 可能 的问题,您可以 return 对象、指针或引用。如果您不希望调用者修改这些,则使用 const.

即类似的东西:

char *bar() {
  static char buf[100];
  ... some code ...
  return buf;
}

const char *foo() {
  static char buf[100];
  ... some code ...
  return buf;
}

b = bar();
*b = 'A'; // OK
f = foo();
*f = 'A'; // Error

引用和对象也是如此。对象可用于声明 const 甚至按值,因为某些对象即使在复制时也可以共享公共数据。

顺便说一句:这不是常量函数,而是 returning 常量值的函数。常数函数是完全不同的东西。