推荐使用 std::array and std::vector的理由:
1、固定数组经常会衰变成指针,这样就会丢失数组长度信息。
2、动态数组会有混乱的分配问题,很难不出错地调整大小。
3、内存在超出作用域时自动释放,无需手动delete释放。
【std::array】
推荐std::array代替固定数组。
传递std::array类型的数组,推荐使用(常)引用。


【std::vector】
std::array 创建 fixed array
std::vector 创建 dynamic array
std::vector比std::array更强大,是c++工具箱中最有用和最通用的工具之一。
内置的动态数组(指针new实现)不知道它们所指向的数组的长度,std::vector可以跟踪长度,用size()函数获取。
长度的增大与缩小使用resize()实现。增大以相应类型的默认值补齐,缩小则直接丢掉多余的元素。

【多余的话】
喜欢看learncpp这个网站的小伙伴,可以参考我的博客。陆续会把此网站所有内容看完并写出来。不是原封不动翻译,会柔和重要知识点,按自己理解去记录。目前更新到一半了(原网站的Chapter P章节)。


1、固定数组经常会衰变成指针,这样就会丢失数组长度信息。
2、动态数组会有混乱的分配问题,很难不出错地调整大小。
3、内存在超出作用域时自动释放,无需手动delete释放。
【std::array】
推荐std::array代替固定数组。
传递std::array类型的数组,推荐使用(常)引用。


【std::vector】
std::array 创建 fixed array
std::vector 创建 dynamic array
std::vector比std::array更强大,是c++工具箱中最有用和最通用的工具之一。
内置的动态数组(指针new实现)不知道它们所指向的数组的长度,std::vector可以跟踪长度,用size()函数获取。
长度的增大与缩小使用resize()实现。增大以相应类型的默认值补齐,缩小则直接丢掉多余的元素。

【多余的话】
喜欢看learncpp这个网站的小伙伴,可以参考我的博客。陆续会把此网站所有内容看完并写出来。不是原封不动翻译,会柔和重要知识点,按自己理解去记录。目前更新到一半了(原网站的Chapter P章节)。

