函数声明返回类型中的Const关键字
const keyword in return type of function declaration
我用c++编写了以下3个函数。请告诉我所有的返回类型是如何不同的?返回值将如何存储在内存中?我知道const关键字适用于左边的任何内容,但我需要更多的解释。
const int* sample1();
int* const sample2();
int const* sample3();
const int* sample1();
int const* sample3();
这些函数是相同的。它们返回指向常量内存的指针(该内存不能通过该指针更改)。但是我们可以改变指针本身。例如:
int* const sample2();
函数返回指向非常量内存的常量指针。我们不能改变指针本身,但是我们可以改变它所在的内存
const不必应用于紧邻右边的内容。例如
class Foo
{
void Bar() const;
int var;
}
将禁止Foo中的Bar函数修改对象中的任何成员变量。此外,us2012的评论总结了这一切。
我可能是完全的,但这似乎是一个学校的作业或什么?
相关文章:
- 在 typedef 内部使用 const 关键字和在 typedef 外部使用 const 关键字之间有区别吗?
- 关于重载 -> 运算符中 const 关键字的特定位置的问题
- 为什么带有 const 关键字的构造函数可以工作,而没有它就不能工作?
- 为什么在函数参数编译中没有标识符的const关键字
- 为什么在代码块中重新计算 const 关键字
- 如果我返回const定义的对象,为什么const关键字被取消资格
- 带有函数签名的 Const 关键字
- 使用 "const" 关键字突出显示 C++ 的 Emacs 语法
- 模板转换运算符,需要'const'关键字
- C++函数中的 const 关键字
- 复制 ctor 和复制赋值运算符 const 关键字位置
- const关键字的默认数据类型为int类型
- 传递“const_iterator”作为参数时,我是否需要编写“const”关键字
- 为什么const关键字对于定义模板参数是必需的
- 使用const关键字重载签名相同的方法
- 模板参数中的Const关键字
- const关键字在操作符定义中做什么?
- 函数声明返回类型中的Const关键字
- 函数中的 Const 关键字带有 *&参数。
- const关键字的必要性是什么