std::cout << nVec[i] << std::endl; // 输出元素 其中size()是获取vector元素的个数,另外vector中可使用empty()来返回vector中是否存在元素,如果为空,则返回true,否则返回false。同时,针对nVec[i]是通过下标运算符来获取对应的vector数值的,千万注意,针对于空的vector,万不可通过下标运算符来添加元素,比如:...
std::cout << static_cast<int>(elem) << " "; // 打印数值 } std::cout << std::endl; for (auto elem : vec) { std::cout << static_cast<char>(elem) << " "; // 尝试打印字符 } std::cout << std::endl; 以上内容为本章的概述,我们详细讨论了std::vector<uint8_t>的用途、特...
vec.push_back(3);// 获取迭代器autoit = vec.begin();// 继续向vector添加元素vec.push_back(4);// 不会导致迭代器失效std::cout <<"First element: "<< *it << std::endl;// 输出正确结果return0; } reserve与resize的区别 reserve:只改变vector的容量,但不改变其大小。也就是说,它只预分配内存...
一种方式是,调用size()函数,判断其是否等于0:stl_containera;if(a.size()==0)std::cout<<" a...
std::vector<int> data = {1,2,3}; std::cout< operator[] operator[]与at功能相同,即用来访问指定的元素,但其与at不同的是:operator[]不进行边界的检查。其函数声明如下所示: referenceoperator[]( size_type pos );//C++20 前constexprreferenceoperator[]( size_type pos );//C++20 起const_refere...
std::cout << *it_data <<" "<< std::endl; } }voidfun_vector(){ vector<int> data1;//默认构造data1.push_back(1); data1.push_back(2); data1.push_back(3);fun_print_vector(data1);//打印:1 2 3vector<int>data2(data1.begin(),data1.end());//通过区间进行构造fun_print_vecto...
std::cout << std::endl; for (int i = 0; i < myVector.size(); ++i) { myVector.at(i) = myVector.at(i) - 1; std::cout << myVector.at(i) << " "; } std::cout << std::endl; 结果: 1 2 3 4 5 0 1 2 3 4 ...
1、首先在V语言中,注意函数是定义在头文件<algorithm>。故在使用之前要定义头文件:#include<algorithm>,如下图所示。2、vector类型的用法,这种类型需要使用内置的迭代器来确定first,middle和last的位置,如下图所示。3、然后输出结果:初始为:1 2 3 4 5 6 7 ,旋转结果: 3 4 5 6 7 1 2...
std::vector<int> v; // 增 // 在末尾追加元素 v.push_back(1); v.push_back(2); v.push_back(3); // 在指定位置插入元素 v.insert(v.begin() + 1, 4); // v 此时为 {1, 4, 2, 3} // 查 // 访问指定位置的元素 std::cout << "Element at index 2: " << v[2] << std...
std::cout << myVector[i] << " ";} return 0;} ```- 在这个示例中,首先创建了一个空的`std::vector`,然后通过`push_back`函数依次添加了三个整数元素。最后,通过循环遍历并输出了这些元素。- 内存管理自动化:- `std::vector`会自动管理内存。当添加元素时,如果当前分配的内存空间不足,它会自动...