Common Lisp中数组/向量类型的区别?

时间:2015-03-06 21:48:25

标签: arrays vector types common-lisp

类型' vector,' simple-vector,'数组和' simple-array之间有什么区别? 我知道向量是数组的子类型,不能是多维的。 "简单 - "版本似乎是类型,其余类。因此,类型可能更复杂,以指定类型。

我应该使用哪种类型说明符?指定向量的最佳方法是什么?

2 个答案:

答案 0 :(得分:7)

矢量是一维数组。

如果他们不是替换,他们是simple,没有填充指针不是明确可调。简单向量还需要能够容纳任何类型的元素。

  

我应该使用哪种类型说明符?

我想这取决于你想做什么。

答案 1 :(得分:5)

Rainer answered你问题的positive部分。

以下是normative部分的答案:

  

我应该使用哪种类型说明符?

你应该使用任何,除非你非常清楚你在做什么。

Common Lisp中的类型注释是可选的;它们适用于专家进行性能调整。您不太可能从类型声明中获得任何好处,并且您极有可能受到它们的伤害。