“C风格数组”是什么意思,它与std :: array(C ++风格)有什么不同?

时间:2011-08-20 04:44:23

标签: c++ c

在阅读std::array and std::vector时,我遇到了这个问题。

1 个答案:

答案 0 :(得分:11)

C-Style数组只是一个“裸”数组 - 也就是说,一个未包含在类中的数组,如下所示:

char[] array = {'a', 'b', 'c', '\0'};

如果您将其用作数组,则为指针:

Thing* t = new Thing[size];
t[someindex].dosomething();

“C ++样式数组”(非官方但流行的术语)就是你所提到的 - 像std::vector(或std::array)这样的包装类。这只是一个包装类(它实际上是一个C风格的数组),提供了边界检查和大小信息等方便的功能。