看到CSDN上有人对C++中使用基类指针操作子类数据的问题进行了讨论。引经据点、代码实证,赞成者有之,反对者有之。其实只要仔细研究一下C++基础知识,就没有必要进行那么多争论了。本文试着分析一下这种操作的实际情况,仅供参考。
基础知识:
Ø 数组:在C/C++中,数组是一块连续的内存,内存中数组元素紧密地排列在一起。内存的大小 = 元素个数 x 单个元素的大小。
Ø 操作符[]:使用索引访问数据中的元素。元素在内存中的位置为:数组开始位置 + 索引 x单个元素的大小。
看到CSDN上有人对C++中使用基类指针操作子类数据的问题进行了讨论。引经据点、代码实证,赞成者有之,反对者有之。其实只要仔细研究一下C++基础知识,就没有必要进行那么多争论了。本文试着分析一下这种操作的实际情况,仅供参考。
基础知识:
Ø 数组:在C/C++中,数组是一块连续的内存,内存中数组元素紧密地排列在一起。内存的大小 = 元素个数 x 单个元素的大小。
Ø 操作符[]:使用索引访问数据中的元素。元素在内存中的位置为:数组开始位置 + 索引 x单个元素的大小。