Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c++ > #9931

Re: block allocation

From Victor Bazarov <v.bazarov@comcast.invalid>
Newsgroups comp.lang.c++
Subject Re: block allocation
Date 2011-09-08 11:27 -0400
Organization A noiseless patient Spider
Message-ID <j4amtu$1vm$1@dont-email.me> (permalink)
References <j4ahk9$ca9$1@online.de> <3ebd2cd2-a517-459d-9f5b-c288ef172ef7@l4g2000vbz.googlegroups.com> <j4am6n$g57$1@online.de>

Show all headers | View raw


On 9/8/2011 11:15 AM, Philipp Kraus wrote:
> On 2011-09-08 17:09:01 +0200, Noah Roberts said:
>
>> On Sep 8, 6:57 am, Philipp Kraus <philipp.kr...@flashpixx.de> wrote:
>>> Hello,
>>>
>>> I would like to allocate a lot of objects in a block. I have read that
>>> I can use calloc (and free), but I think it is a C call and I would do
>>> this in C++-style. I need around 100 till 100.000 objects in memory and
>>> I would do this like:
>>>
>>> std::vector<myclass> objects;
>>> for(size_t i=0; i < maxsize; ++i)
>>>      objects.push_back( myclass(...) );
>>
>> If "..." is always the same then you can initialize the entire vector
>> on construction:
>>
>> std::vector<myclass> objects(maxsize, myclass(...));
>
> I can't call my constructor, I need call a method named "clone()". I
> create a call like:
>
> std::vector<myclass> vec(p_size);
> for(std::size_t i=0; i < p_size; ++i)
> vec.psuh_back( myclass.clone() );
>
> can I do it like:
>
> std::vector<myclass> vec(p_size, myclass.clone()) with the same result?

No.  'myclass.clone()' in that case would only be called once, and the 
vector is going to be filled by copying that one clone.  There is 
probably a way to utilize a lambda in combination with std::fill or 
std::copy.

V
-- 
I do not respond to top-posted replies, please don't ask

Back to comp.lang.c++ | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

block allocation Philipp Kraus <philipp.kraus@flashpixx.de> - 2011-09-08 15:57 +0200
  Re: block allocation Goran <goran.pusic@gmail.com> - 2011-09-08 07:32 -0700
  Re: block allocation Asger-P <junk@asger-p.dk> - 2011-09-08 16:42 +0200
  Re: block allocation Philipp Kraus <philipp.kraus@flashpixx.de> - 2011-09-08 16:50 +0200
  Re: block allocation Noah Roberts <roberts.noah@gmail.com> - 2011-09-08 08:09 -0700
    Re: block allocation Philipp Kraus <philipp.kraus@flashpixx.de> - 2011-09-08 17:15 +0200
      Re: block allocation Victor Bazarov <v.bazarov@comcast.invalid> - 2011-09-08 11:27 -0400
      Re: block allocation Asger-P <junk@asger-p.dk> - 2011-09-08 17:46 +0200
        Re: block allocation Philipp Kraus <philipp.kraus@flashpixx.de> - 2011-09-08 17:52 +0200
          Re: block allocation Asger-P <junk@asger-p.dk> - 2011-09-08 18:35 +0200
            Re: block allocation Philipp Kraus <philipp.kraus@flashpixx.de> - 2011-09-08 20:04 +0200
      Re: block allocation Jorgen Grahn <grahn+nntp@snipabacken.se> - 2011-09-08 20:27 +0000

csiph-web