[gecode-users] help --- how to create an object dynamically in Gecode?

Christian Schulte cschulte at kth.se
Sun Aug 30 18:58:20 CEST 2009


Again, what’s wrong with creating an new argument array of exactly the
right size when you need it? That doesn’t waste memory!



Christian





From: Kayler Yao [mailto:risoay at gmail.com]
Sent: Sunday, August 30, 2009 5:56 PM
To: Christian Schulte
Cc: users at gecode.org
Subject: Re: [gecode-users] help --- how to create an object dynamically in
Gecode?



hi,

    Now let me talk about what i want to do. I have a lot of data,and i need
to copy some data into the variable of the " IntArgs ". The number of
variables what i want is uncertain,which is controlled by an outside
parameter. And these variables include different data.

    For instance, i have an 10*10 Array data. Now i want to copy the second
,the fifth and the sixth column of Array data into three variables of
"IntArgs". In my project, the number of  variables of "IntArgs" what i need
and which columns of Array data i want to copy are all uncertain,controlled
by parameters. So this case make me to search for an dynamical method to
create variable of the "IntArgs" . But "IntArgs" do not have a new operator
by design. So i have to change the way and create an certain number of
variables of the "IntArgs",which is larger than actual need. You know that
wasting memory is an obvious disadvantage of this way.

     whether there has an better way to resolve this problem?



Kayler






2009/8/30 Christian Schulte <cschulte at kth.se>

Hi,



what’s wrong with creating a new array each time you need it? They are very
fast to create (they will only allocate heap memory if the array is large
and otherwise, creation is super-quick). I have to admit I still don’t see
really what you mean by uncertain number.



Best

Christian



From: Kayler Yao [mailto:risoay at gmail.com]
Sent: Saturday, August 29, 2009 5:23 PM
To: Christian Schulte
Cc: users at gecode.org


Subject: Re: [gecode-users] help --- how to create an object dynamically in
Gecode

?



hi,

   Your said about using Argument arrays are right . The purpose i use
Argument arrays to do is also just as it should to be . What i want to do is
that I want to use uncertain number of Argument Arrays ,so i want to  create
Argument arrays dynamically. You said that they do not have a new operator
by design ,so i can't use "new" way. I maybe create an certain number of
Argument Arrays which is much more than i want ,and it may waste some
memories. Whether there has another way to realize my thought?

welcome to talk about it.



Kayler.

2009/8/29 Christian Schulte <cschulte at kth.se>

Hi,



Argument arrays are meant for what they are called: passing arguments as is
explained in detail in Section 4.2.2 in Modeling with Gecode. Using them for
other purposes is a bad idea and hence they do not have a new operator by
design!



What you should do is use a different data structure and create and argument
array just when you need it for posting a propagator or branching.



Christian



From: users-bounces at gecode.org [mailto:users-bounces at gecode.org] On Behalf
Of Kayler Yao
Sent: Saturday, August 29, 2009 5:20 AM
To: users at gecode.org
Subject: Re: [gecode-users] help --- how to create an object dynamically in
Gecode?



hi,

  And i find that "Gecode::Support::DynamicArray< T, A > Class Template"
maybe can realize it. But i did it  unsuccessfully.

Who can give me right answer.



Kayler

2009/8/29 Kayler Yao <risoay at gmail.com>

hi,

    I want to create an object of IntArgs in my program dynamically. For
instance " IntArgs *pt = new IntArgs(4); -----create an object of IntArgs
with four elements" or

"IntArgs *pt = new IntArgs [10];------create an array with 10 object of
IntArgs." They all be compiled with errors. And i haven't seen the examples
of create object dynamically in Gecode. And I want to know whether the
Gecode support to create object of Gecode class ? And how ?

Look forward to your reply!



Kayler







-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.ps.uni-sb.de/pipermail/users/attachments/20090830/184ebfa3/attachment.htm>


More information about the gecode-users mailing list