- 1、
对于数组来说是静态的,所以在创建数组的时候数组首元素的地址也就是数组的地址是确定的,所以在函数传参的时候将数组地址直接作为函数实参传入即可,因为会自动对该地址中的数据进行操作;
- 2、
vector定义的是一个动态数组,在不断申请空间的过程中可能会改变动态数组的首元素地址也就是动态数组的地址,可以理解为动态数组的长度动态位置也是动态的,所以不能将其地址作为参数传入函数,因为很可能已经变了(具体没研究过STL,做题的时候发现的先记下来。Qt的数组亦然)
- 3、
如图:因为vector首地址是动态的,所以不能QVector<QVector<uint8_t> > list_rx;
创建二维数组,而且也没有首地址赋值给指针,list_rx取地址的操作也不常见。 - 4、
- 5
Qt5.6以后QVector::clear()清空数据不会释放空间大小(容量),swap()清空数据哪个版本都会释放大小