内存分配方式:数组和array都是静态内存分配,位于栈中。vector使用动态内存分配方式,位于堆中。 效率上:数组=array>vector 复制:vector和array都可以把一个对象直接复制给另一个对象,数组只能逐元素复制。 ...
共同点 . 都和数组相似,都可以使用标准数组的表示方法来访问每个元素 array和vector都对下标运算符 进行了重载 . 三者的存储都是连续的,可以进行随机访问 不同点 . 数组是不安全的,array和vector是比较安全的 有效的避免越界等问题 . array对象和数组存储在相同的内存区域 栈 中,vector对象存储在自由存储区 堆 . array可以将一个对象赋值给另一个array对 ...
2020-05-29 15:56 0 1383 推荐指数:
内存分配方式:数组和array都是静态内存分配,位于栈中。vector使用动态内存分配方式,位于堆中。 效率上:数组=array>vector 复制:vector和array都可以把一个对象直接复制给另一个对象,数组只能逐元素复制。 ...
1.vector、array是模板类,封装了数组; 2.vector、array封装了各种功能函数,重载了[]运算符,size、判空、swap机制,更安全;数组访问容易出错。 3.vector属于变长容器,array和数组定长; 4.array提供了初始化所有成员的方法fill ...
//比较数组、vector、array #include <iostream> ...
相同点: 底层都使用数组实现 功能相同,实现增删改查等操作的方法相似 长度可变的数组结构 不同点: Vector是早期JDK版本提供,ArrayList是新版本替代Vector的 Vector 的方法都是同步的,线程安全;ArrayList 非线程安全 ...
1:array 定义的时候必须定义数组的元素个数;而vector 不需要;且只能包含整型字面值常量,枚举常量或者用常量表达式初始化的整型const对象, 非const变量以及需要到运行阶段才知道其值的const变量都不能用来定义数组的维度. 2:array 定义后的空间是固定的了,不能改变 ...
/15/cpparrayvsvector.html @Seth Hendrick C-Style 数组 ...
我觉得实验一下会记得比较牢,话不多直接上代码。 下面是array数组,感觉用的不多。 下面是vector数组,觉得挺强大的。 一些基本的操作函数也不过 push_back() 尾部插入, pop_back() 尾部删除, size() 获取大小, erase() 指定位置删除 ...
1.assign 用于初始化 2.resize 改变capacity,与size 3.reserve 改变capacity,不改变size 超过size的capacity不可直 ...