{"id":20130,"date":"2024-03-15T20:00:18","date_gmt":"2024-03-15T20:00:18","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/how-can-elements-be-removed-while-iterating-through-a-vector\/"},"modified":"2024-03-21T17:21:12","modified_gmt":"2024-03-21T17:21:12","slug":"how-can-elements-be-removed-while-iterating-through-a-vector","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/how-can-elements-be-removed-while-iterating-through-a-vector\/","title":{"rendered":"How can elements be removed while iterating through a vector?"},"content":{"rendered":"<p>In C++, you can use iterators to traverse and erase elements in a vector. Here is an example code:<\/p>\n<pre class=\"post-pre\"><code><span class=\"hljs-meta\">#<span class=\"hljs-keyword\">include<\/span> <span class=\"hljs-string\">&lt;iostream&gt;<\/span><\/span>\r\n<span class=\"hljs-meta\">#<span class=\"hljs-keyword\">include<\/span> <span class=\"hljs-string\">&lt;vector&gt;<\/span><\/span>\r\n\r\n<span class=\"hljs-function\"><span class=\"hljs-type\">int<\/span> <span class=\"hljs-title\">main<\/span><span class=\"hljs-params\">()<\/span> <\/span>{\r\n    std::vector&lt;<span class=\"hljs-type\">int<\/span>&gt; numbers = {<span class=\"hljs-number\">1<\/span>, <span class=\"hljs-number\">2<\/span>, <span class=\"hljs-number\">3<\/span>, <span class=\"hljs-number\">4<\/span>, <span class=\"hljs-number\">5<\/span>};\r\n\r\n    <span class=\"hljs-comment\">\/\/ \u4f7f\u7528\u8fed\u4ee3\u5668\u904d\u5386vector<\/span>\r\n    <span class=\"hljs-keyword\">for<\/span> (<span class=\"hljs-keyword\">auto<\/span> it = numbers.<span class=\"hljs-built_in\">begin<\/span>(); it != numbers.<span class=\"hljs-built_in\">end<\/span>(); ) {\r\n        <span class=\"hljs-comment\">\/\/ \u5224\u65ad\u5143\u7d20\u662f\u5426\u9700\u8981\u5220\u9664<\/span>\r\n        <span class=\"hljs-keyword\">if<\/span> (*it % <span class=\"hljs-number\">2<\/span> == <span class=\"hljs-number\">0<\/span>) {\r\n            <span class=\"hljs-comment\">\/\/ \u5220\u9664\u5143\u7d20\uff0c\u5e76\u5c06\u8fed\u4ee3\u5668\u6307\u5411\u4e0b\u4e00\u4e2a\u5143\u7d20<\/span>\r\n            it = numbers.<span class=\"hljs-built_in\">erase<\/span>(it);\r\n        } <span class=\"hljs-keyword\">else<\/span> {\r\n            <span class=\"hljs-comment\">\/\/ \u8fed\u4ee3\u5668\u6307\u5411\u4e0b\u4e00\u4e2a\u5143\u7d20<\/span>\r\n            ++it;\r\n        }\r\n    }\r\n\r\n    <span class=\"hljs-comment\">\/\/ \u8f93\u51fa\u7ed3\u679c<\/span>\r\n    <span class=\"hljs-keyword\">for<\/span> (<span class=\"hljs-keyword\">auto<\/span> num : numbers) {\r\n        std::cout &lt;&lt; num &lt;&lt; <span class=\"hljs-string\">\" \"<\/span>;\r\n    }\r\n    std::cout &lt;&lt; std::endl;\r\n\r\n    <span class=\"hljs-keyword\">return<\/span> <span class=\"hljs-number\">0<\/span>;\r\n}\r\n<\/code><\/pre>\n<p>The output result is:<\/p>\n<pre class=\"post-pre\"><code>1 3 5\r\n<\/code><\/pre>\n<p>In the code above, we are using an iterator &#8216;it&#8217; to iterate through the elements in a vector. If the current element is even, we use the erase function to remove that element and move the iterator to the next element. If the current element is odd, we simply move the iterator to the next element without deleting anything. This allows us to iterate through and remove elements from the vector.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In C++, you can use iterators to traverse and erase elements in a vector. Here is an example code: #include &lt;iostream&gt; #include &lt;vector&gt; int main() { std::vector&lt;int&gt; numbers = {1, 2, 3, 4, 5}; \/\/ \u4f7f\u7528\u8fed\u4ee3\u5668\u904d\u5386vector for (auto it = numbers.begin(); it != numbers.end(); ) { \/\/ \u5224\u65ad\u5143\u7d20\u662f\u5426\u9700\u8981\u5220\u9664 if (*it % 2 == 0) { [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-20130","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How can elements be removed while iterating through a vector? - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/how-can-elements-be-removed-while-iterating-through-a-vector\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How can elements be removed while iterating through a vector?\" \/>\n<meta property=\"og:description\" content=\"In C++, you can use iterators to traverse and erase elements in a vector. Here is an example code: #include &lt;iostream&gt; #include &lt;vector&gt; int main() { std::vector&lt;int&gt; numbers = {1, 2, 3, 4, 5}; \/\/ \u4f7f\u7528\u8fed\u4ee3\u5668\u904d\u5386vector for (auto it = numbers.begin(); it != numbers.end(); ) { \/\/ \u5224\u65ad\u5143\u7d20\u662f\u5426\u9700\u8981\u5220\u9664 if (*it % 2 == 0) { [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/how-can-elements-be-removed-while-iterating-through-a-vector\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-15T20:00:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-03-21T17:21:12+00:00\" \/>\n<meta name=\"author\" content=\"William Carter\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"William Carter\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-elements-be-removed-while-iterating-through-a-vector\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-elements-be-removed-while-iterating-through-a-vector\/\"},\"author\":{\"name\":\"William Carter\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/f697031891aacefc4b681d139781d3c0\"},\"headline\":\"How can elements be removed while iterating through a vector?\",\"datePublished\":\"2024-03-15T20:00:18+00:00\",\"dateModified\":\"2024-03-21T17:21:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-elements-be-removed-while-iterating-through-a-vector\/\"},\"wordCount\":104,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-elements-be-removed-while-iterating-through-a-vector\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/how-can-elements-be-removed-while-iterating-through-a-vector\/\",\"name\":\"How can elements be removed while iterating through a vector? - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-15T20:00:18+00:00\",\"dateModified\":\"2024-03-21T17:21:12+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-elements-be-removed-while-iterating-through-a-vector\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/how-can-elements-be-removed-while-iterating-through-a-vector\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/how-can-elements-be-removed-while-iterating-through-a-vector\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How can elements be removed while iterating through a vector?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/f697031891aacefc4b681d139781d3c0\",\"name\":\"William Carter\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1786698071dd8d74bec894b512f9e3c610c3a2a32985f67e688976cee3c8bbef?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1786698071dd8d74bec894b512f9e3c610c3a2a32985f67e688976cee3c8bbef?s=96&d=mm&r=g\",\"caption\":\"William Carter\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/williamcarter\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"How can elements be removed while iterating through a vector? - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/blog\/how-can-elements-be-removed-while-iterating-through-a-vector\/","og_locale":"en_US","og_type":"article","og_title":"How can elements be removed while iterating through a vector?","og_description":"In C++, you can use iterators to traverse and erase elements in a vector. Here is an example code: #include &lt;iostream&gt; #include &lt;vector&gt; int main() { std::vector&lt;int&gt; numbers = {1, 2, 3, 4, 5}; \/\/ \u4f7f\u7528\u8fed\u4ee3\u5668\u904d\u5386vector for (auto it = numbers.begin(); it != numbers.end(); ) { \/\/ \u5224\u65ad\u5143\u7d20\u662f\u5426\u9700\u8981\u5220\u9664 if (*it % 2 == 0) { [&hellip;]","og_url":"https:\/\/www.silicloud.com\/blog\/how-can-elements-be-removed-while-iterating-through-a-vector\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-15T20:00:18+00:00","article_modified_time":"2024-03-21T17:21:12+00:00","author":"William Carter","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"William Carter","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/how-can-elements-be-removed-while-iterating-through-a-vector\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/how-can-elements-be-removed-while-iterating-through-a-vector\/"},"author":{"name":"William Carter","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/f697031891aacefc4b681d139781d3c0"},"headline":"How can elements be removed while iterating through a vector?","datePublished":"2024-03-15T20:00:18+00:00","dateModified":"2024-03-21T17:21:12+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/how-can-elements-be-removed-while-iterating-through-a-vector\/"},"wordCount":104,"commentCount":0,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/how-can-elements-be-removed-while-iterating-through-a-vector\/","url":"https:\/\/www.silicloud.com\/blog\/how-can-elements-be-removed-while-iterating-through-a-vector\/","name":"How can elements be removed while iterating through a vector? - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-15T20:00:18+00:00","dateModified":"2024-03-21T17:21:12+00:00","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/how-can-elements-be-removed-while-iterating-through-a-vector\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/how-can-elements-be-removed-while-iterating-through-a-vector\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/how-can-elements-be-removed-while-iterating-through-a-vector\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How can elements be removed while iterating through a vector?"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/f697031891aacefc4b681d139781d3c0","name":"William Carter","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/1786698071dd8d74bec894b512f9e3c610c3a2a32985f67e688976cee3c8bbef?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1786698071dd8d74bec894b512f9e3c610c3a2a32985f67e688976cee3c8bbef?s=96&d=mm&r=g","caption":"William Carter"},"url":"https:\/\/www.silicloud.com\/blog\/author\/williamcarter\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/20130","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=20130"}],"version-history":[{"count":1,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/20130\/revisions"}],"predecessor-version":[{"id":53910,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/20130\/revisions\/53910"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=20130"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=20130"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=20130"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}