Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7890175
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 3, 20262026-06-03T06:17:12+00:00 2026-06-03T06:17:12+00:00

Lets say i have vector of vectors vector< vector<int> > bigTable; bigTable.reserve(5); To clarify

  • 0

Lets say i have vector of vectors

vector< vector<int> > bigTable;

bigTable.reserve(5);

To clarify my understanding of resize and reserve.

When you use push_back with vectors, you have to allocate memory each time you use it.
So my goal is to set a side a set of memory space so that it will be least expensive.

As such, will reserve help with the above goal?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-03T06:17:13+00:00Added an answer on June 3, 2026 at 6:17 am

    You don’t have to allocate memory each time you call push_back. The vector starts off with a given capacity, and it only allocates extra capacity when the original capacity runs out, typically by doubling the previous capacity. You should only reserve if you are sure you are going to need the extra capacity. And you can check how much capacity you start off with using the capacity member. So, yes, a call to reserve can help, but only if you know from the outset that you really need the extra capacity. But you can also trust the vector to increase its capacity if and when it needs it.

    On my particular platform, when I initialize a vector with 5 Foo elements, it has capacity 5. As I add a new element, the capacity jumps to 10. This is not mandated by the standard, the original capacity could have been much more than 5.

    struct Foo {
      long long n;
    };
    
    int main() {
    
      std::vector<Foo> f(5);
      std::cout << f.capacity() << "\n";
      f.push_back(Foo());
      std::cout << f.capacity() << "\n";
    
    }
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Lets say i have vector of vectors vector< vector<int> > bigTable; vector<int> data; data.resize(2);
Lets say for example I have the following 2 vectors: *B *A The vector
Lets say I have a vector of int which I've prefilled with 100 elements
Lets say we have the following code: std::vector<int> f() { std::vector<int> y; ... return
Lets say I have these lines of code; std::vector<int> ints; std::for_each(ints.begin(), ints.end(), [](int& val){
lets say I have a vector of pair<int,int> . Now I want to extract
I have an std::vector, let's say of integers for simplicity. std::vector<int> ivec; ivec.push_back(1); ivec.push_back(2);
Lets say I have vectors of different objects, say D is of type vector<
Lets say have this immutable record type: public class Record { public Record(int x,
Let's say I have a loop like this: vector<shared_ptr<someStruct>> vec; int i = 0;

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.