练习9.13:如何从一个list
【出题思路】
更深入地理解容器拷贝初始化和范围初始化两种方式的差异。
【解答】
由于list
#include <iostream> #include <vector> #include <list> using namespace std; int main() { list<int> ilist = {1,2,3,4,5,6,7}; vector<int> ivec = {7,6,5,4,3,2,1}; //容器类型不同,不能使用拷贝初始化 // vector<double> ivec(ilist); //元素类型相容.因此可采用范围初始化 vector<double> dvec(ilist.begin(), ilist.end()); //容器类型不同,不能使用拷贝初始化 // vector<double> dvecl(ivec); //元素类型相容,因此可采用范围初始化 vector<double>dvec1(ivec.begin(),ivec.end()); cout << dvec.capacity() << " " << dvec.size() << " " << dvec[0] << " " << dvec[dvec.size()-1] << endl; cout << dvec1.capacity() << " " << dvec1.size() << " " << dvec1[0] << " " << dvec1[dvec1.size()-1] << endl; return 0; }
本页共32段,1682个字符,2166 Byte(字节)