【发布时间】:2016-06-19 09:56:35
【问题描述】:
第二个 const 在下面的结构中做了什么? (这只是一个示例函数)。
我知道第一个 const 使函数返回一个常量对象。但我无法弄清楚标识符之前的 const 是什么。
首先我虽然它返回了一个指向常量对象的常量指针,但我仍然能够重新分配返回的指针,所以我想情况并非如此。
const SimpleClass * const Myfunction()
{
SimpleClass * sc;
return sc;
}
【问题讨论】:
-
它确实返回一个指向常量对象的常量指针。您可以将该指针的 值 复制到非常量变量。 (与
const int f() { return 0; } int main() { int x = f(); x = 1; }原理相同。) -
想要另一个 const?将其添加到 MyFunction() 行的末尾。 ;)
标签: c++ pointers c++11 reference constants