个人备案网站建设方案书,天津seo招聘,杭州营销型网站建设,株洲网站建设公司vector 动态数组 本质是向量#xff0c;一个无限续存的连续内存空间
int main()
{ std::vectorint obj(5); 创建一个容量为5且默认值为0的vector std::vectorint obj(5#xff0c;12138); 创建一个容量为5且默认值为12138的vector std::cout obj.…vector 动态数组 本质是向量一个无限续存的连续内存空间
int main()
{ std::vectorint obj(5); 创建一个容量为5且默认值为0的vector std::vectorint obj(512138); 创建一个容量为5且默认值为12138的vector std::cout obj.capacity() std::endl; 查看当前vector容量 std::cout obj.size() std::endl;查看当前vector元素个数 for (size_t i 0; i obj.size(); i) 遍历输出vector { std::cout obj[i] std::endl; } std::vectorint obj2(obj); 拷贝obj for (size_t i 0; i obj.size(); i) 遍历输出obj2元素值 { std::cout obj2[i] std::endl; } obj[1] 222; 可以直接对vector元素进行修改 obj.at(2) 333; 此方法也可进行修改元素 for (size_t i 0; i obj.size(); i) 遍历输出vector元素 { std::cout obj[i] std::endl; 使用其特性操作符[] } std::cout typeid(std::vectorint::iterator::iterator_category).name() std::endl; 输出迭代器类型 -- - - * [] 随机访问迭代器的特性操作符 begin end 执行第一个和最后一个的下一个元素 cbegin cend 常量 rbegin rend 反向 obj.begin() 获取obj首元素地址 std::cout *(obj.begin()) std::endl; 打印begin下一个元素 *obj.begin() 147; 修改第一个元素为147 *(obj.begin()2) 147; 修改第三个元素为147 for(auto i obj.begin(); i ! obj.end(); i)使用迭代器进行循环遍历 { std::cout *i std::endl; } 可正常打印 for (size_t i 0; i obj.size(); i) 初始化vector { obj[i] i; } for (auto i obj.rbegin(); i ! obj.rend(); i) 利用反向迭代器进行遍历打印 { std::cout *i std::endl; } std::cout obj.front() std::endl; 访问首元素 std::cout obj.back() std::endl; 访问尾元素 obj.push_back(5); 再尾部插入元素5 std::cout obj.back() std::endl;再次打印尾部元素发现是5 obj.insert(obj.begin() 2, 555); 在下标2位置插入元素555 obj.pop_back(); 删除尾部元素 obj.erase(obj.begin() 2); 删除下标2位置元素 for (auto i obj.begin(); i ! obj.end(); i) { std::cout *i std::endl; } std::cout obj.capacity() std::endl;每当多加入一个元素容量就加一但此时再删除元素容量不变经上述代码执行容量为7 std::cout obj.size() std::endl; 元素个数为5 obj.clear();清除所有元素 for (auto i obj.begin(); i ! obj.end(); i) { std::cout *i std::endl; }
此时无法遍历因为没有元素
return 0;
}