使用数组来初始化 vector 对象
2014-04-19 19:15
246 查看
我的主力博客:半亩方塘
使用数组来初始化 vector 对象,只需要 指明拷贝区域的首元素地址和尾后地址就可以了,下面通过两组程序及其运行结果来深入理解一下:
程序一:
程序一的运行结果为:
程序二:
程序二的运行结果为:
需要特别注意的是, vector 对象不能用来初始化数组 ,这个过程是不可逆的。
使用数组来初始化 vector 对象,只需要 指明拷贝区域的首元素地址和尾后地址就可以了,下面通过两组程序及其运行结果来深入理解一下:
程序一:
#include <iostream> #include <vector> #include <iterator> using std::vector; using std::begin; using std::end; using std::cout; using std::endl; int main() { int arr[] = {11, 32, 41, 25, 67, 100, 88, 233}; // 列表初始化内置数组 // 指出拷贝区域范围,使用数组初始化 vector 对象 vector<int> iv(begin(arr), end(arr)); for (auto c : iv) // 输出 vector 对象的内容以验证结果 cout << c << ' '; cout << endl; return 0; }
程序一的运行结果为:
11 32 41 25 67 100 88 233,与期望中完全一致
程序二:
#include <iostream> #include <vector> using std::vector; using std::cout; using std::endl; int main() { int arr[] = {11, 32, 41, 25, 67, 100, 88, 233}; // 列表初始化内置数组 // 指出拷贝区域范围,使用数组初始化 vector 对象 vector<int> iv(arr + 2, arr + 7); for (auto c : iv) // 输出 vector 对象的内容以验证结果 cout << c << ' '; cout << endl; return 0; }
程序二的运行结果为:
41 25 67 100 88,与期望中完全一致
需要特别注意的是, vector 对象不能用来初始化数组 ,这个过程是不可逆的。
相关文章推荐
- 用vector容器代替数组 ——使用数组初始化vector对象
- C++ 使用数组 初始化 Vector
- 整型数组与vector对象之间的相互初始化
- 用int数组初始化vector对象
- 使用数组初始化vector
- 使用数组对vector进行初始化
- stl 静态数组初始化vector及pair,vector混合使用
- 不允许使用“{...}”对”std::vector<int,std::allocator<int> >“类型的对象进行初始化
- c++用整型数组初始化一个vector对象
- java中对象数组初始化后使用
- 使用数组对vector进行初始化
- 1.在使用new创建数组后,此时数组还是一个引用数组。 只有再创建新的对象,并把对象赋值给数组引用,到此初始化结束2.什么是引用类型?
- c++ vector数组对象的使用
- 使用数组初始化vector
- 对象的集合 -- 栈,使用stl 中的vector 或者 原始数组来实现
- 操作符的重载以及数组/vector对象的初始化
- 使用初始化捕获来把对象移动到闭包
- 使用对象数组作为参数(对象数组类型的参数)
- php函数将对象转换为数组以及json_decode的使用技巧
- 关于JAVA对象数组初始化---解决赋…