【发布时间】:2011-07-19 09:22:46
【问题描述】:
我想知道返回指针的函数是否有任何理由不应该是 const。我正在处理一些在大多数地方似乎都是 const 正确的代码,但由于某种原因,它没有将返回指针的函数声明为 const。例如,它写
virtual Joint* getJointByID(unsigned int id);
而不是
virtual Joint* getJointByID(unsigned int id) const;
如果 getJointByID 函数本身实际上并没有改变类的任何成员,那么有什么理由不应该存在 const 吗?
【问题讨论】:
-
可以通过指针改变对象的状态吗?
-
通过返回的指针,是的,但是函数调用本身永远不会改变任何类的数据成员。
标签: c++