C/C++教程

Effective C++ - 条款3 - 关于const的一切

本文主要是介绍Effective C++ - 条款3 - 关于const的一切,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

const与*

符号左侧为所指对象的语义,符号右侧为指针自身语义

const与iterator

const iterator(是T* const) != const_iterator
详细原因应参考c++编译和c++设计与演化

const避免将==写成=

运算符的重载函数返回const对象可以避免运算结果被赋值,该赋值可能是由于错误将==写为=导致的

const成员函数

较为细节,建议看书

  1. 两个成员函数只是const/non-const,可以重载
  2. 如果non-const成员函数返回成员变量,函数声明中返回类型为非引用类型,则不能对返回值进行修改。原因应该是该返回值是右值(感觉这个错误还是比较容易避免,因为在写这个函数时就会思考,返回的内容如果后续被修改,是否具有可被修改的基础?)
这篇关于Effective C++ - 条款3 - 关于const的一切的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!