容器使用迭代器/指针的初始化
C++ STL是可以根据指针范围或迭代器范围进行初始化的,常用用法如下:
vector<int> v1{ 1,2,3 };
set<int> set1{ 1,2,3 };
int a[3] = { 1,2,3 };
double b[3] = { 1.1,2.1,3.1 };
vector<int> v2(v1.begin(), v1.end()); //内容为1 2 3
vector<int> v3(set1.begin(), set1.end());//内容为1 2 3
vector<int> v4(a, a + 3);//内容为1 2 3
vector<int> v5(b, b + 3);//内容为1 2 3
数组的复制
(1)按照上述方法,利用数组指针初始化一个vector即可。
(2)memcpy函数
void * memcpy ( void * destination, const void * source, size_t num );
destination是目标数组首地址,source是资源数组首地址,num是需要copy的字节数