Boost logo

Boost Users :

From: gast128 (gast128_at_[hidden])
Date: 2008-08-21 04:55:28


Dr Johann A. Briffa <j.briffa <at> ieee.org> writes:

> > ...Any new elements in the array are default constructed..."
> >
> > It is thus not possible providing a default fill element?
> >
> The default fill element is the default value of the type. For example,
> if you have a multi_array of doubles, on array construction (or resize)
> all new elements will be 0.0. You cannot change this value without
> changing the default value of the underlying type.
> Johann

I understand that, built in types are also defined for default construction.

However I had a need here to override that default. Looking at the
vector::resize(), it offers an overload function for specifying the fill
element.

The case I needed was soemthing likea std::pair<HANDLE, nstring>, where the
the default handle is -1 (i.e. std::pair<HANDLE, nstring> default(-1, ""));.
Of course this can be solved by promoting this to a full blown struct with
default ctor, but I donot like to introduce extra structures for just bundling
data.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net