为什么 C++ 中数组和向量之间的字节大小不同?

问题描述

我正在学习有关 C++ 的初学者课程,并且喜欢暂停课程并修改我正在学习的代码。我想在 C++ 中对向量和数组使用 sizeof() 运算符。最终发现向量和数组中的数字数量相同,它们的大小(以字节为单位)是不同的。这是我的代码

#include <iostream>
#include <vector>


int main()  {

   std::vector <int> test_scores { 100,99,90,70,75 };

   int test_scores_array[]{ 100,75 };

   std::cout << sizeof(test_scores) << std::endl;
   std::cout << sizeof(test_scores_array) << std::endl;

   return 0;
}

有这个输出

16
20

经过大约 30 分钟的谷歌搜索后,我无法弄清楚为什么大小不同。我并不是真的“需要”知道,但我只是觉得它与众不同真的很有趣,并且真的很想知道为什么。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)