在阅读std::array and std::vector时,我遇到了这个问题。
答案 0 :(得分:11)
C-Style数组只是一个“裸”数组 - 也就是说,一个未包含在类中的数组,如下所示:
char[] array = {'a', 'b', 'c', '\0'};
如果您将其用作数组,则为指针:
Thing* t = new Thing[size];
t[someindex].dosomething();
“C ++样式数组”(非官方但流行的术语)就是你所提到的 - 像std::vector
(或std::array
)这样的包装类。这只是一个包装类(它实际上是一个C风格的数组),提供了边界检查和大小信息等方便的功能。