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 常量值的函数。常数函数是完全不同的东西。
你好有人能解释一下函数声明前面的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 常量值的函数。常数函数是完全不同的东西。