const修饰成员函数
时间: 2024-01-07 17:04:31 浏览: 101
当const修饰成员函数时,它具有以下特点:
1. 成员函数加上const关键字后,称为常函数。
2. 常函数不可以修改成员变量的值。
3. 但是,如果成员变量被声明为mutable,则在常函数中可以修改该成员变量的值。
举例来说,如果有一个类Person,其中有一个常函数func(),在这个常函数中不能修改普通成员变量age的值,但是可以通过mutable修饰的name进行修改。
例如,在下面的例子中,类person中的show()函数被声明为常函数。在该常函数中,试图修改成员变量m_A的值,但由于show()函数是常函数,所以无法修改m_A的值。
另外需要注意的是,当const修饰成员函数时,this指针的本意是const person* const this,即this指针指向的对象以及指向的成员变量都是不可修改的。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [C++之const修饰成员函数](https://blog.csdn.net/qq_54182926/article/details/119282612)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [const修饰成员函数](https://blog.csdn.net/qq_63610563/article/details/124088619)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文