C++中的vector被称为容器,它提供了一种方便灵活的方式来管理数据,并且在许多场景下比其他类似的容器更加高效。
vector可以存储多种类型的数据,包括基本数据类型和自定义数据类型。和数组相比,vector提供了更方便的方法来管理数据,可以自动调整大小,并提供了访问和操作数据的丰富方法。
下面是一些vector的用法示例:
### 声明和初始化
首先,需要包含 ``` #include using namespace std; vector ``` 也可以使用{}的列表初始化方式来创建vector: ``` vector ``` 另外,可以使用拷贝构造函数来创建一个新的vector: ``` vector vector ``` ### 访问和修改vector元素 可以使用[]操作符来访问vector中的元素,就像访问数组一样: ``` vector cout << v[0] << endl; //输出1 ``` 当然,也可以使用at()方法来访问某个元素,它提供了越界检查,如果访问越界会抛出异常: ``` vector cout << v.at(0) << endl; //输出1 cout << v.at(100) << endl; //抛出异常 ``` 还可以使用front()和back()方法来访问第一个和最后一个元素: ``` vector cout << v.front() << endl; //输出1 cout << v.back() << endl; //输出3 ``` 可以使用[]操作符或at()方法修改vector中的元素: ``` vector v[0] = 10; //将第一个元素修改为10 v.at(1) = 20; //将第二个元素修改为20 ``` 还可以使用assign()方法来将整个vector替换为新的元素序列: ``` vector v.assign({4, 5, 6}); //将vector替换为{4, 5, 6} ``` ### 添加和删除元素 可以使用push_back()方法在vector的尾部插入一个元素: ``` vector v.push_back(4); //在vector尾部插入4 ``` 另外,可以使用emplace_back()方法向vector中添加一个新元素,它的参数是要添加的元素的构造函数的参数,会在vector中直接创建一个新元素: ``` vector v.emplace_back(1, "one"); //在vector尾部插入一个pair ``` 可以使用insert()方法在任意位置插入一个或多个元素: ``` vector v.insert(v.begin() + 1, 10); //在第二个位置插入10 v.insert(v.begin() + 1, {20, 30}); //在第二个位置插入20, 30 ``` 可以使用erase()方法删除一个或多个元素: ``` vector v.erase(v.begin() + 1); //删除第二个元素 v.erase(v.begin() + 1, v.begin() + 3); //删除第二个和第三个元素 ``` ### vector的遍历 可以使用循环语句来遍历vector中的所有元素: ``` vector for (int i = 0; i < v.size(); i++) { cout << v[i] << " "; } ``` 还可以使用C++11中的范围for循环来遍历vector: ``` vector for (auto x : v) { cout << x << " "; } ``` ### vector的属性和方法 除了上述常见的操作,vector还提供了一些其他的属性和方法,可以方便地获取或修改vector的一些信息。 - size()方法:返回vector中元素的个数 - empty()方法:检查vector是否为空,返回true或false - reserve()方法:预留vector的容量,避免频繁扩容 - capacity()方法:返回vector当前的容量 - shrink_to_fit()方法:将vector的容量调整为当前元素的数量 - clear()方法:删除vector中所有元素,使其变为空vector - swap()方法:交换两个vector的元素 ### 总结 vector是一个十分常用的C++容器,它提供了丰富的操作和一些方便的属性和方法,可以方便地管理数据。熟练掌握vector的用法,可以提高C++程序的开发效率和代码质量。 如果你喜欢我们三七知识分享网站的文章,
欢迎您分享或收藏知识分享网站文章
欢迎您到我们的网站逛逛喔!https://www.37seo.cn/
一天很短,短得来不及拥抱清晨,就已经手握黄昏;一年很短,短得来不及细品初春殷红窦绿,就要打点素裹秋霜;一生很短,短得来不及享用美好年华,就已经身处迟暮。愿我们能看尽繁华,栖身城外,待良人归来,携手同游人间!