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

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

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

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

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

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

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