信息科技公司网站怎么做,怀远网站建设,wordpress转到手机端,域名注册推荐C笔记之vector的成员函数swap()和data()
标准C中的std::vector类确实有swap()和data()这两个成员函数。下面是它们的简要描述#xff1a;
swap(): std::vector的swap()成员函数用于交换两个向量的内容#xff0c;实现了高效的交换操作#xff0c;不需要复制向量的元素。这…C笔记之vector的成员函数swap()和data()
标准C中的std::vector类确实有swap()和data()这两个成员函数。下面是它们的简要描述
swap(): std::vector的swap()成员函数用于交换两个向量的内容实现了高效的交换操作不需要复制向量的元素。这对于在某些情况下高效地交换两个向量的内容非常有用。
std::vectorT v1, v2;
// 填充 v1 和 v2v1.swap(v2); // 交换 v1 和 v2 的内容data(): std::vector的data()成员函数返回一个指向向量数据的指针。这个指针可以用于访问向量的元素。请注意data()返回的指针是指向连续内存块的首地址但要小心不要访问越界的元素。
std::vectorT v;
// 填充 vT* ptr v.data(); // 获取指向向量数据的指针// 使用 ptr 访问向量的元素请注意这些函数是C标准库的一部分因此在标准C中都是可用的。但是不同版本的C标准库可能会有一些差异因此在使用时请查看您所使用的C标准库版本的文档以确保正确使用这些函数。
示例1使用swap()函数交换两个std::vector对象的内容
#include iostream
#include vectorint main() {std::vectorint v1 {1, 2, 3};std::vectorint v2 {4, 5, 6};std::cout v1: ;for (int num : v1) {std::cout num ;}std::cout \n;std::cout v2: ;for (int num : v2) {std::cout num ;}std::cout \n;// 使用 swap() 交换 v1 和 v2 的内容v1.swap(v2);std::cout After swapping:\n;std::cout v1: ;for (int num : v1) {std::cout num ;}std::cout \n;std::cout v2: ;for (int num : v2) {std::cout num ;}std::cout \n;return 0;
}运行 示例2使用data()函数获取std::vector数据的指针
#include iostream
#include vectorint main() {std::vectordouble v {1.1, 2.2, 3.3, 4.4, 5.5};double* ptr v.data();std::cout Elements in v using data(): ;for (std::size_t i 0; i v.size(); i) {std::cout ptr[i] ;}std::cout \n;return 0;
}运行 这两个程序分别演示了swap()和data()函数的用法第一个程序交换了两个向量的内容第二个程序使用data()函数获取向量数据的指针并访问向量的元素。