{"id":27475,"date":"2022-12-24T16:02:51","date_gmt":"2022-12-24T10:32:51","guid":{"rendered":"https:\/\/jassweb.com\/solved\/solved-c-vector-v-vectorv-vector-vec-which-is-the-fastest-or-the-most-efficient-closed\/"},"modified":"2022-12-24T16:02:51","modified_gmt":"2022-12-24T10:32:51","slug":"solved-c-vector-v-vectorv-vector-vec-which-is-the-fastest-or-the-most-efficient-closed","status":"publish","type":"post","link":"https:\/\/jassweb.com\/solved\/solved-c-vector-v-vectorv-vector-vec-which-is-the-fastest-or-the-most-efficient-closed\/","title":{"rendered":"[Solved] C++ vector v, vector*v, vector vec, which is the fastest (or the most efficient)? [closed]"},"content":{"rendered":"<p> [ad_1]<br \/>\n<\/p>\n<div id=\"answer-30284515\" class=\"answer js-answer accepted-answer js-accepted-answer\" data-answerid=\"30284515\" data-parentid=\"30284027\" data-score=\"3\" data-position-on-page=\"1\" data-highest-scored=\"1\" data-question-has-accepted-highest-score=\"1\" itemprop=\"acceptedAnswer\" itemscope itemtype=\"https:\/\/schema.org\/Answer\">\n<div class=\"post-layout\">\n<div class=\"votecell post-layout--left\"><\/div>\n<div class=\"answercell post-layout--right\">\n<div class=\"s-prose js-post-body\" itemprop=\"text\">\n<p>There is a big misunderstanding here: You are comparing vectors with different semantics. It&#8217;s like asking which is faster, a glass of water or a banana.<\/p>\n<p>If you think about using a vector of pointers, <code>std::vector&lt;T*&gt;<\/code>, you need to be aware that you are using manual memory management. It might be faster in some use-cases, but it&#8217;s also way more error prone. If your use-case is appropriate, you might consider <code>std::vector&lt;std::shared_ptr&lt;T&gt;&gt;<\/code> or <code>std::vector&lt;std::unique_ptr&lt;T&gt;&gt;<\/code> instead.<\/p>\n<p><code>std::vector&lt;T&gt;*<\/code> is something else entirely. You need to learn about the background of how, when and why to use plain pointers (hint: they are rarely used at all these days), smart pointers or simply no pointers and instead use the objects directly.<\/p>\n<p>In terms of efficiency, even a normal <code>std::vector&lt;T&gt;<\/code> can nowadays be quite efficient due to move semantics. Google it and learn about it as well. Also, efficiency does not just come from the number of memory allocations, but also from the memory layout. This is where a <code>std::vector&lt;T&gt;<\/code> can often provide severe benefits over the alternatives.<\/p>\n<p>And with everything which is about efficiency: Measure it! Without measuring, you will never really know what is better for your use-case. Start with the most obvious and correct code (that is to say: Avoid manual memory management), measure it, find the bottlenecks, only then remove them by possibly adding more complexity.<\/p>\n<\/p><\/div>\n<div class=\"mt24\"><\/div>\n<\/div>\n<p>            <span class=\"d-none\" itemprop=\"commentCount\">1<\/span> <\/p><\/div>\n<\/div>\n<p>[ad_2]<\/p>\n<p>solved C++ vector<T> v, vector<T>*v, vector<T*> vec, which is the fastest (or the most efficient)? [closed] <\/p>\n","protected":false},"excerpt":{"rendered":"<p>[ad_1] There is a big misunderstanding here: You are comparing vectors with different semantics. It&#8217;s like asking which is faster, a glass of water or a banana. If you think about using a vector of pointers, std::vector&lt;T*&gt;, you need to be aware that you are using manual memory management. It might be faster in some &#8230; <a title=\"[Solved] C++ vector v, vector*v, vector vec, which is the fastest (or the most efficient)? [closed]\" class=\"read-more\" href=\"https:\/\/jassweb.com\/solved\/solved-c-vector-v-vectorv-vector-vec-which-is-the-fastest-or-the-most-efficient-closed\/\" aria-label=\"More on [Solved] C++ vector v, vector*v, vector vec, which is the fastest (or the most efficient)? [closed]\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[320],"tags":[324,712,806],"class_list":["post-27475","post","type-post","status-publish","format-standard","hentry","category-solved","tag-c","tag-pointers","tag-vector"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Solved] C++ vector v, vector*v, vector vec, which is the fastest (or the most efficient)? [closed] - JassWeb<\/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:\/\/jassweb.com\/solved\/solved-c-vector-v-vectorv-vector-vec-which-is-the-fastest-or-the-most-efficient-closed\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Solved] C++ vector v, vector*v, vector vec, which is the fastest (or the most efficient)? [closed] - JassWeb\" \/>\n<meta property=\"og:description\" content=\"[ad_1] There is a big misunderstanding here: You are comparing vectors with different semantics. It&#8217;s like asking which is faster, a glass of water or a banana. If you think about using a vector of pointers, std::vector&lt;T*&gt;, you need to be aware that you are using manual memory management. It might be faster in some ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jassweb.com\/solved\/solved-c-vector-v-vectorv-vector-vec-which-is-the-fastest-or-the-most-efficient-closed\/\" \/>\n<meta property=\"og:site_name\" content=\"JassWeb\" \/>\n<meta property=\"article:published_time\" content=\"2022-12-24T10:32:51+00:00\" \/>\n<meta name=\"author\" content=\"Kirat\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Kirat\" \/>\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:\/\/jassweb.com\/solved\/solved-c-vector-v-vectorv-vector-vec-which-is-the-fastest-or-the-most-efficient-closed\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-c-vector-v-vectorv-vector-vec-which-is-the-fastest-or-the-most-efficient-closed\/\"},\"author\":{\"name\":\"Kirat\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\"},\"headline\":\"[Solved] C++ vector v, vector*v, vector vec, which is the fastest (or the most efficient)? [closed]\",\"datePublished\":\"2022-12-24T10:32:51+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-c-vector-v-vectorv-vector-vec-which-is-the-fastest-or-the-most-efficient-closed\/\"},\"wordCount\":256,\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"keywords\":[\"c++\",\"pointers\",\"vector\"],\"articleSection\":[\"Solved\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-c-vector-v-vectorv-vector-vec-which-is-the-fastest-or-the-most-efficient-closed\/\",\"url\":\"https:\/\/jassweb.com\/solved\/solved-c-vector-v-vectorv-vector-vec-which-is-the-fastest-or-the-most-efficient-closed\/\",\"name\":\"[Solved] C++ vector v, vector*v, vector vec, which is the fastest (or the most efficient)? [closed] - JassWeb\",\"isPartOf\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#website\"},\"datePublished\":\"2022-12-24T10:32:51+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/jassweb.com\/solved\/solved-c-vector-v-vectorv-vector-vec-which-is-the-fastest-or-the-most-efficient-closed\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/jassweb.com\/solved\/solved-c-vector-v-vectorv-vector-vec-which-is-the-fastest-or-the-most-efficient-closed\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/jassweb.com\/solved\/solved-c-vector-v-vectorv-vector-vec-which-is-the-fastest-or-the-most-efficient-closed\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/jassweb.com\/solved\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Solved] C++ vector v, vector*v, vector vec, which is the fastest (or the most efficient)? [closed]\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/jassweb.com\/solved\/#website\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"name\":\"JassWeb\",\"description\":\"Build High-quality Websites\",\"publisher\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/jassweb.com\/solved\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/jassweb.com\/solved\/#organization\",\"name\":\"Jass Web\",\"url\":\"https:\/\/jassweb.com\/solved\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"contentUrl\":\"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png\",\"width\":693,\"height\":132,\"caption\":\"Jass Web\"},\"image\":{\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31\",\"name\":\"Kirat\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775193939\",\"contentUrl\":\"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775193939\",\"caption\":\"Kirat\"},\"sameAs\":[\"http:\/\/jassweb.com\"],\"url\":\"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"[Solved] C++ vector v, vector*v, vector vec, which is the fastest (or the most efficient)? [closed] - JassWeb","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:\/\/jassweb.com\/solved\/solved-c-vector-v-vectorv-vector-vec-which-is-the-fastest-or-the-most-efficient-closed\/","og_locale":"en_US","og_type":"article","og_title":"[Solved] C++ vector v, vector*v, vector vec, which is the fastest (or the most efficient)? [closed] - JassWeb","og_description":"[ad_1] There is a big misunderstanding here: You are comparing vectors with different semantics. It&#8217;s like asking which is faster, a glass of water or a banana. If you think about using a vector of pointers, std::vector&lt;T*&gt;, you need to be aware that you are using manual memory management. It might be faster in some ... Read more","og_url":"https:\/\/jassweb.com\/solved\/solved-c-vector-v-vectorv-vector-vec-which-is-the-fastest-or-the-most-efficient-closed\/","og_site_name":"JassWeb","article_published_time":"2022-12-24T10:32:51+00:00","author":"Kirat","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Kirat","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jassweb.com\/solved\/solved-c-vector-v-vectorv-vector-vec-which-is-the-fastest-or-the-most-efficient-closed\/#article","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/solved-c-vector-v-vectorv-vector-vec-which-is-the-fastest-or-the-most-efficient-closed\/"},"author":{"name":"Kirat","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31"},"headline":"[Solved] C++ vector v, vector*v, vector vec, which is the fastest (or the most efficient)? [closed]","datePublished":"2022-12-24T10:32:51+00:00","mainEntityOfPage":{"@id":"https:\/\/jassweb.com\/solved\/solved-c-vector-v-vectorv-vector-vec-which-is-the-fastest-or-the-most-efficient-closed\/"},"wordCount":256,"publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"keywords":["c++","pointers","vector"],"articleSection":["Solved"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/jassweb.com\/solved\/solved-c-vector-v-vectorv-vector-vec-which-is-the-fastest-or-the-most-efficient-closed\/","url":"https:\/\/jassweb.com\/solved\/solved-c-vector-v-vectorv-vector-vec-which-is-the-fastest-or-the-most-efficient-closed\/","name":"[Solved] C++ vector v, vector*v, vector vec, which is the fastest (or the most efficient)? [closed] - JassWeb","isPartOf":{"@id":"https:\/\/jassweb.com\/solved\/#website"},"datePublished":"2022-12-24T10:32:51+00:00","breadcrumb":{"@id":"https:\/\/jassweb.com\/solved\/solved-c-vector-v-vectorv-vector-vec-which-is-the-fastest-or-the-most-efficient-closed\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jassweb.com\/solved\/solved-c-vector-v-vectorv-vector-vec-which-is-the-fastest-or-the-most-efficient-closed\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/jassweb.com\/solved\/solved-c-vector-v-vectorv-vector-vec-which-is-the-fastest-or-the-most-efficient-closed\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/jassweb.com\/solved\/"},{"@type":"ListItem","position":2,"name":"[Solved] C++ vector v, vector*v, vector vec, which is the fastest (or the most efficient)? [closed]"}]},{"@type":"WebSite","@id":"https:\/\/jassweb.com\/solved\/#website","url":"https:\/\/jassweb.com\/solved\/","name":"JassWeb","description":"Build High-quality Websites","publisher":{"@id":"https:\/\/jassweb.com\/solved\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jassweb.com\/solved\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jassweb.com\/solved\/#organization","name":"Jass Web","url":"https:\/\/jassweb.com\/solved\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/","url":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","contentUrl":"https:\/\/jassweb.com\/wp-content\/uploads\/2021\/02\/jass-website-logo-1.png","width":693,"height":132,"caption":"Jass Web"},"image":{"@id":"https:\/\/jassweb.com\/solved\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/65c9c7b7958150c0dc8371fa35dd7c31","name":"Kirat","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jassweb.com\/solved\/#\/schema\/person\/image\/","url":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775193939","contentUrl":"https:\/\/jassweb.com\/solved\/wp-content\/litespeed\/avatar\/1261af3c9451399fa1336d28b98ea3bb.jpg?ver=1775193939","caption":"Kirat"},"sameAs":["http:\/\/jassweb.com"],"url":"https:\/\/jassweb.com\/solved\/author\/jaspritsinghghumangmail-com\/"}]}},"_links":{"self":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/27475","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/comments?post=27475"}],"version-history":[{"count":0,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/posts\/27475\/revisions"}],"wp:attachment":[{"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/media?parent=27475"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/categories?post=27475"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jassweb.com\/solved\/wp-json\/wp\/v2\/tags?post=27475"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}