关于顶层const和底层const

之前有段时间对于这个一直比较模糊不理解,网上很多对于这个底层和顶层const的理解都是针对指针做出解释,漏掉基本数据类型和引用的解释,最终发现自己也是马虎了,在C++ primer中有关于这个详细说明,不过我没重视忽视掉了,现在记个笔记加深印象。

C++ Primer中原话是:“更一般的,顶层const可以表示任意的对象是常量,这一点对任何数据类型都适用,如算术类型,类,指针等。底层const则与指针和引用等复合类型的基本类型部分有关。比较特殊的是指针类型既可以是顶层const也可以是底层const。”(第五版57页)

那么:

const int a = 1;     //a是顶层const就理解了

用于声明引用的const都是底层const

建议以经典书籍为标准自己去理解最佳。

你可能感兴趣的:(关于顶层const和底层const)