C++|C++类成员函数后面加const有什么作用
【C++|C++类成员函数后面加const有什么作用】
C++中类成员函数后面加const的作用 , 这个问题频繁出现在面试中 , 从我参加过的几次面试中都被涉及到 , 比如字节 , 2345浏览器等 , 这个问题会非常基础 , 而且很考验C++的基础 。 const的字面意思为常数 , 不变的 , 只读 。
class Rabbit
{
private int m_nTo;
public:
A() : m_nTo(0){ int getToValue()const { return m_nTo; //this->m_nTo ;
如果问你这道题 , 我觉得可以这样回答 。 const加到非静态成员函数后面加const , 表示这个函数隐含传入的this为const指针 , 也就是const指针指向的数据无法改动了 。
当然如果还有补充 , 你可以讲一下如果加到成员函数或者静态成员后面会产生编译错误 , 用这个的场景就是不需要修改的成员函数 。 还有个mutable例外 , 但是我觉得这个不要讲 。
如果你还能有补充 , 我会建议你谈谈Java的final , final的用法在这边其实是差不多的 。 Java里用final来修饰方法标明不允许任何继承类修改它的含义 , 以及效率上的好处 。 类的private方法会被隐式的指定为final方法 。
其实看过的大都数代码 , 一般都不会出现mutable的例外 , 写代码是为了解决问题 , 如果不是技术大拿 , 用了一些不常见的反而引入更多的问题 。 当然这是题外话 , 如果你实在忘记不知道如何去回答这个问题 , 那么我建议你不断理解const , 从const的字面意思来解读 , 你就瞬间回忆起来了 。
- 为验证人类和黑猩猩,是否会产生新的后代,科学家找来5位姑娘!
- 为什么科学家表示人类“灭绝”的可能性极低?这些理由你赞同吗?
- 卫星拍摄下的南极洲,专家发现神秘骨架:人类又发现了史前物种
- 土耳其发现四肢爬行人群,这是咋回事?科学家警告:人类要留心了
- 为了证明人类可与黑猩猩结合,女科学家亲身试验,结果怎么样?
- 西伯利亚冻土层融化,发现14300年前生物,人类也许该清醒了
- 为何人类所到之处,地球会“寸草不生”?这符合进化论的原理吗?
- 往宇航员的血管里种藻类,科学家这个想法太疯狂,来看结果怎么样
- 宇宙中有多少维度,人类为何想要进入四维空间?科学家给出了解释
- 为了证明人类可以和猩猩“结合”,女科学家亲身实验,精神可佩
