为什么使用静态数组而不是动态数组?

时间:2014-02-08 15:20:06

标签: c++

我知道,在C ++中,有两种数组:静态和动态数组。但我有一个问题:

为什么我们在某些情况下会使用静态数组而不是动态数组,而在我看来,我们可以使用动态数组而不是使用静态数组做更多事情?

为什么我们会在所有情况下使用动力学数组?

2 个答案:

答案 0 :(得分:3)

  

为什么我们在某些情况下会使用静态数组而不是动态数组,而在我看来,我们可以使用动态数组而不是使用静态数组做更多事情?

假设使用静态数组意味着C风格的数组或std::array以及动态数组意味着std::vector,因为:

  1. 静态数组可以由编译器优化,因为编译时已知大小。
  2. 动态数组使用动态内存分配,这可能很昂贵。

答案 1 :(得分:0)

仅供参考,在嵌入式系统中,内存受到限制(尺寸较小)。

静态数组允许一个人约束任何序列而不会遇到碎片问题。

此外,可以将常量静态数组放入只读存储器中,从而释放读/写存储器。