如何将列表实现为异构的?我知道列表是指向所需元素的内存位置的动态指针数组,但是当索引所指向的元素大小不同时,这如何工作?
指针所指向的位置是否包含有关此位置所持类型的信息,如果是,则如何格式化,使用和返回该类型的信息?
我了解[1,2,3]在内存中的外观,但不了解[1,2,“ abcdefg”]在内存中的外观。
答案 0 :(得分:1)
一切都是python中的对象:正如您提到的,列表是指向列表中所包含对象的内存位置的“指针”的集合。
作为对象,它们每个都知道其类型,属性,属性等。
因此,它们不能超出其自身的内存边界,并且python解释器会隐式地保留/统计指向它们的指针的数量。
答案 1 :(得分:0)
从技术角度(即如何实现这种方式),查找C语言中的抽象数据类型(ADT)概念,例如here。